为nHIbernate Fluenty映射实体

时间:2012-02-29 17:05:53

标签: c# reference fluent-nhibernate nhibernate-mapping

我在手头的任务周围遇到了一些问题,或者更多,所以最好的办法就是这样做。

参加示例项目:

  • UI
  • DATA(大会)
  • 在DATA
  • 上构建的SERVICE(程序集)

我是否将所有映射都放在DATA程序集中,还是应该将它们分成SERVICE程序集?或者我应该/我可以完全摆脱数据汇编吗?

这个问题源于在DATA程序集或UTILITY程序集中有一个nHibernate静态助手类,然后从SERVICE程序集等引用它。

项目参考方向

UI>数据/实用程序

DATA / UTILITY<服务

UI>服务

我只是让这个过于复杂或做错了/对吗?

注意:

我提到Fluent虽然我知道你可以使用config.xml引用程序集来映射我不太确定如何使用Fluent而不实际引用项目程序集 - 这让我陷入循环引用循环。

1 个答案:

答案 0 :(得分:0)

如果您担心将映射代码与对象(您的DATA)的定义分开,则需要一个额外的程序集,一个“数据访问层”程序集,它引用您的DATA程序集并包含数据访问问题(如您的NHibernate映射)。这样,您的DATA程序集只包含您的POCO,并且知道持久性。您的数据访问程序集引用您的DATA程序集并具有持久性知识。我会将你的NHibernate辅助方法从你的“UTILITY”程序集中取出,而是将它们放在这个新的“数据访问”程序集中。

尽管如此,如果您不关心将数据与其持久性机制分离,您可以在DATA程序集中转储所有内容(映射和辅助函数)。