我在手头的任务周围遇到了一些问题,或者更多,所以最好的办法就是这样做。
参加示例项目:
我是否将所有映射都放在DATA程序集中,还是应该将它们分成SERVICE程序集?或者我应该/我可以完全摆脱数据汇编吗?
这个问题源于在DATA程序集或UTILITY程序集中有一个nHibernate静态助手类,然后从SERVICE程序集等引用它。
项目参考方向
UI>数据/实用程序
DATA / UTILITY<服务
UI>服务
我只是让这个过于复杂或做错了/对吗?
注意:
我提到Fluent虽然我知道你可以使用config.xml引用程序集来映射我不太确定如何使用Fluent而不实际引用项目程序集 - 这让我陷入循环引用循环。
答案 0 :(得分:0)
如果您担心将映射代码与对象(您的DATA)的定义分开,则需要一个额外的程序集,一个“数据访问层”程序集,它引用您的DATA程序集并包含数据访问问题(如您的NHibernate映射)。这样,您的DATA程序集只包含您的POCO,并且知道持久性。您的数据访问程序集引用您的DATA程序集并具有持久性知识。我会将你的NHibernate辅助方法从你的“UTILITY”程序集中取出,而是将它们放在这个新的“数据访问”程序集中。
尽管如此,如果您不关心将数据与其持久性机制分离,您可以在DATA程序集中转储所有内容(映射和辅助函数)。