Fluent-NHibernate支持映射到存储过程吗?

13

我一直在想,是否有可能让Fluent-NHibernate与已存在的存储过程通信,并将映射从结果集分配给我自己的领域对象。

此外,Fluent-NHibernate能否直接执行没有返回结果集的存储过程?

基本上,我一直在考虑使用Fluent-NHibernate替换过时的TypedDataSet模型,采用面向领域的设计,从DAL返回简单的对象。如果Fluent-NHibernate不能轻松地与存储过程一起工作,我认为我最可能会使用组合式DAL,利用FNH进行简单的CRUD操作,而将复杂的存储过程留给Enterprise Library处理。虽然我不认为同时拥有两个竞争的DAL是最优解,但如果FNH无法与SPs协同工作,我很乐意听取任何关于使用EntLib和FNH之外的其他建议。


@Gregory,我看了你的博客,老实说我不知道,我已经和NHibernate/FNH闹翻了,也没有关注他们发布的任何内容。不过这似乎是一个很好的问题可以在Stack Overflow上提出。 - Chris Marisic
2个回答

11

回答我的问题,答案就是你可以编写NHibernate的XML映射并将其与Fluent-NHibernate映射相结合。FNH的SP映射很可能会在以后添加。


6

Fluent NHibernate的主干版本(在GitHub上)支持插入、更新和删除存储过程。

在您的映射类构造函数中调用:

SqlInsert("StoredProcName");

免责声明:我自己还没有测试过这个,但很快就会派上用场。

更多信息请参见Fluent NHibernate Google Group中的此帖子


当然了解这些内容当然比选择程序要少用得多,但我猜那会涉及到更奇怪的编程。 - Chris Marisic
是的...目前的实现并不是很有用。无论如何,为了让FNH完全支持(哭泣)CRUD存储过程,它仍然需要添加对“loader”和“sql-query”元素的支持。但我认为在这方面还没有任何进展。 - user93202

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接