我目前正在开发visual studio中的解决方案,我将在windows azure上部署。该解决方案由MVC3 Web角色组成,其中表示来自SQL Server的数据。 我已经设置了Ninject和Fluent NHibernate来将视图与数据库和具体实现分离。
我现在要做的是将所有数据访问逻辑(即NHibernate和数据访问存储库)放入一个单独的c#项目中,以便我可以将此项目重用于MVC3项目和未来SOA项目。
我有什么想法可以达到这个目的?我想出了如何使用“仅代码”类来实现它,但是在使用hibernate时出现了一些问题。我猜这与为每个Web请求创建的global.asx中的ISession对象有关。
任何有关简单实现,方案或操作方法的提示都会非常有用。如果需要,我也可以发布代码 - 让我详细了解哪些部分; - )
此致 马丁
答案 0 :(得分:0)
如果我理解正确,我没有看到实现Service
类库的问题,该类从UI或SOA层获取请求并执行它们。例如 -
public class UsersService
{
private ISession _Session;
// Session is injected
public UsersService(ISession session)
{
_Session = session;
}
public IEnumerable<User> GetAllUsers()
{
return _Session.QueryOver<User>().List();
}
}