在哪里定义DbContext

本文关键字:DbContext 定义 在哪里 | 更新日期: 2023-09-27 18:06:53

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

这个上下文通过它的构造函数注入到控制器中,如下所示:

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

在控制器操作中,我使用这个dbcontext来查询我的dbset:

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

现在,我想将所有查询移动到模型类(Post.cs在这种情况下),所以我需要知道:

  1. 模型类是否用于此?
  2. 如果是,如何从那里访问dbContext ?

谢谢。

在哪里定义DbContext

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

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