问题描述
|
在所有关于关注点分离的讨论中,我似乎总是遇到我的ASP.NET MVC应用程序必须为依赖注入而引用许多与nhibernate和fluent nhibernate相关的库的问题。
这是典型的吗?我应该以其他方式解决这个问题吗?我试图将涉及nHibernate的所有逻辑放到
Data
项目中,但是当我必须连接ISessionFactory
和ISession
时,我必须在我的Web层中访问它们。有没有人找到解决方法?
解决方法
老实说,这不是一件大事。我知道您想将所有与数据相关的依赖关系都保留在UI层之外,但是如果您想正确使用NHibernate,并且每个请求都有一个ISession,则必须在global.asax的Application_Start中进行设置。当然,您可以将所有内容包装在自己的界面中并隐藏对NHibernate的任何依赖关系,但这实在是太过分了。不要试图隐藏您正在使用的内容,您打算多久切换一次ORM?
,我看不出有什么问题,但很多人都知道。
真的取决于你。
,是的,通常您必须使用“ main”应用程序中的任意一个来访问所有从属库,以便将所有内容组合在一起。