我一直想知道是否可以让Fluent-NHibernate与已经存在的存储过程进行通信,并将结果集中的映射分配给我自己的域对象。
Fluent-NHibernate还能直接执行没有返回结果集的程序吗?
基本上我一直在考虑使用Fluent-NHibernate用一个域驱动设计替换一个带日期的TypedDataSet模型的含义,该设计可以从DAL返回简单对象。如果Fluent-NHibernate不能轻松使用SP,我想我最喜欢的是一个组合DAL,它将利用FNH进行简单的CRUD操作,同时让复杂的程序由Enterprise Library管理。虽然如果FNH不能很好地与SP合作,我认为拥有2个竞争DAL并不是最理想的我会喜欢听到任何其他想法,而不是同时使用EntLib和FNH。
答案 0 :(得分:11)
回答我自己的问题,答案就是你可以为NHibernate编写xml mapppings并将它们与Fluent-NHibernate映射结合起来。 FNH的SP映射很可能会在以后添加。
答案 1 :(得分:6)
Fluent NHibernate的主干版本(在GitHub上)支持插入,更新和删除存储过程。
在映射类构造函数中,调用:
SqlInsert("StoredProcName");
免责声明:我自己尚未对此进行测试,但它肯定会很快派上用场。
有关详细信息,请参阅Fluent NHibernate Google Group中的this thread。