在哪里定义DbContext

时间:2015-08-06 14:29:29

标签: c# asp.net-mvc

我正在启动一个asp.net(5)mvc项目,我在Models目录中为我的应用程序创建了一个DBContext。

使用它构造函数在控制器中注入此上下文,如下所示:

private AppContext db;

public CidsController(AppContext context)
{
    db = context;
}

在控制器操作中,我使用此dbcontext对我的dbSets进行查询:

 var itens = from p in db.Posts
             select p;

现在,我想将所有查询都移到模型类(本例中为Post.cs),所以我需要知道:

  1. 是否使用了模型类?
  2. 如果是,如何从那里访问dbContext?
  3. 感谢。

1 个答案:

答案 0 :(得分:2)

不,模型并未用于此,它们只包含从控制器传输到视图和(通过HTTP)返回控制器的数据。

这意味着您的模型中不需要DbContext。控制器负责(可能委托给业务和数据库层)以检索数据。这是MVC design pattern中非常常见的原则。