13

我一直想知道是否可以让 Fluent-NHibernate 与已经存在的存储过程进行通信,并将结果集的映射分配给我自己的域对象。

Fluent-NHibernate 也可以直接执行程序而不返回结果集吗?

基本上,我一直在考虑使用 Fluent-NHibernate 将过时的 TypedDataSet 模型替换为可以从 DAL 返回简单对象的域驱动设计的含义。如果 Fluent-NHibernate 不能轻松地与 SP 一起工作,我想我最有可能拥有一个组合 DAL,它可以利用 FNH 进行简单的 CRUD 操作,同时让复杂的过程由 Enterprise Library 管理。虽然我认为如果 FNH 不能很好地与 SP 配合使用,那么拥有 2 个竞争 DAL 并不是最佳选择,但我很想听听除了同时使用 EntLib 和 FNH 之外的任何其他想法。

4

2 回答 2

11

只是为了回答我自己的问题,答案就是您可以为 NHibernate 编写 xml 映射并将它们与 Fluent-NHibernate 映射结合起来。FNH 的 SP 映射很可能会在以后添加。

于 2009-01-07T14:32:46.123 回答
6

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

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

SqlInsert("StoredProcName");

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

有关更多信息,请参阅Fluent NHibernate Google Group 中的此线程

于 2010-02-01T17:01:53.353 回答