我的解决方案分为如下:
- 数据项目 - 持有实体框架
- 业务逻辑/服务项目 - 包含实现业务逻辑/对数据进行其他工作的类
- MVC3 项目
我设置的方式是服务类确实涉及实体框架。我正在使用依赖注入来创建存储库包装实体框架。我遇到的问题是,每次通过 ninject 创建存储库时,它都会创建一个新的 EF 上下文,因此并非所有更改都被保存。请注意,我在服务项目和 MVC 项目中都有 Ninject 绑定,我在这里谈论的实例是绑定位于类库中的情况。
根据我所做的研究,似乎建议使用 InRequestScope 以便使用相同的上下文。但是,由于我在类库而不是 MVC 项目/Web 项目中使用它,在类库中使用 Ninject.Web.Common 是否有意义(它去哪里并创建 AppStart 文件夹和所有内容)?
或者我应该有另一种方法来处理这个吗?