1
我已经看了一些关于该主题的其他帖子,但大多数似乎都在处理选择。我有一个存储过程,它执行一些删除和检查,并简单地将一个int作为参数并返回一个成功的位。我想从我的代码中使用尖锐体系结构中的流畅nHibernate来解决这个问题。使用Fluent删除存储过程nHibernate
任何有关如何最好地解决这个问题的想法? 谢谢
我已经看了一些关于该主题的其他帖子,但大多数似乎都在处理选择。我有一个存储过程,它执行一些删除和检查,并简单地将一个int作为参数并返回一个成功的位。我想从我的代码中使用尖锐体系结构中的流畅nHibernate来解决这个问题。使用Fluent删除存储过程nHibernate
任何有关如何最好地解决这个问题的想法? 谢谢
您不能映射存储过程与FluentNHibernate(AFAIK)。你需要一个XML映射这样的(SQL服务器):
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Your.Xml.Mappings.Namespace">
<sql-query name="DeleteSomeEntity" >
exec dbo.deleteSomeEntityProc ?
</sql-query>
</hibernate-mapping>
返回值可能会是object[]
的ArrayList
如果你与NHibernate调用它。注意'?'论点,这将采取你的ID。要调用的名称将是“DeleteSomeEntity”还要记住,您必须使用约定“.hbm.xml”命名该文件,并且需要将其作为嵌入式资源包含在项目中!
对于FluentNHibernate加载的文件,你需要调用
database = database.Mappings(m => m.HbmMappings.AddFromAssembly(assembly));
上装配初始化您的映射时调用的XML。
如果确实需要映射返回类型,则可以在映射中包含<return>
或<return-property>
声明。我没有这样做,但是,你必须在NHibernate参考手册中查找它。
HTH。
这似乎很好地做这项工作,谢谢:-) – Ben 2011-02-16 09:24:00