【发布时间】:2016-03-13 09:14:06
【问题描述】:
我正在使用 ASP.NET 构建一个 Web 应用程序,我在一个解决方案中创建了两个独立的项目,其中一个是 ASP.NET 项目,另一个是称为数据层的“控制台应用程序”。在数据层中,我已将其与本地数据库连接(首先是 ADO.NET 实体框架数据库)。
我的问题是,我希望我的 DbContext 类在我的 ASP.NET 项目中的控制器中是不可访问的。目前它仍然可以通过“使用数据层”来访问。我的 ASP.NET 中有一个包含构建器类的文件夹,它们可以访问 DbContext,我只希望构建器访问我的 DbContext。所以在我的控制器中,我只想使用我的构建器来处理 DbContext。
我想要的示例:
public ActionResult Index()
{
return View(new ExampleBuilder().GetListFromDb());
}
而不是(这在我的项目中必须被禁止且无法访问):
private DbContext db = new DbContext();
public ActionResult Index()
{
return View(db.SomeModel.ToList());
}
有人对此有好的解决方案吗?
【问题讨论】:
标签: asp.net-mvc entity-framework model-view-controller controller dbcontext