【问题标题】:MVC seperate prjects for models, BLL, DAL, site using EF6使用 EF6 的模型、BLL、DAL、站点的 MVC 单独项目
【发布时间】:2014-06-25 13:01:37
【问题描述】:
我在分离模型和在 DAL 中使用 EF6 时遇到问题,我在 DAL 中从数据库优先方法创建模型,然后将它们复制到模型项目中。
如何配置 DAL 以在另一个项目中将 EF6 与这些模型一起使用?
我正在尝试像这样构建我的解决方案:
MVC 层(视图、视图模型、控制器)
|
BLL
|
DAL (EF6)
所有项目都需要引用保存模型的实体项目
【问题讨论】:
标签:
architecture
asp.net-mvc-5
data-access-layer
【解决方案1】:
好的,最后这是一个简单的修复,我是这样做的:
在我的实体项目中,我创建了一个数据库优先数据模型(edmx 文件和模型等)
在我的 DAL 项目中,我只需要引用实体程序集,然后在 CRUD 数据的每个存储库文件(类)中,我需要在顶部添加一个 using 语句以引入实体命名空间。这是一个简单的示例:
using MySolution.Entities.Models;
namespace MySolution.DAL.Repository
{
public class AccountDAL : IAccountRepository, IDisposable
{
private MyDataEntities context;
public AccountDAL()
{
this.context = new MyDataEntities();
}
.....etc
真的很简单。