asp.net mvc中db上下文类的用途是什么

mst*_*ler 22 c# asp.net-mvc entity-framework

我是mvc的新手并且已经做了一些教程来掌握它,但在其中一些教程中,我遇到了一个带有EF6 教程的DbContext类asp.net mvc5的例子

我曾尝试研究DbContext Class的信息,但无法获得任何让我更聪明的信息!所有我能找到的更多相同的教程,只有很少的信息我也在msdn DbContext类上查找了类.

我之前的教程没有db上下文类,它工作正常,我的问题是我需要使用上下文类,使用DbContext类有什么好处?

任何帮助将不胜感激.

Dan*_*att 22

我首先会说这个DbContext类与实体框架(EF)有关,但是问题标签会暗示你自己想出了很多.在典型用法中,从DbContext类中派生只是基于EF的数据访问合并到应用程序中的方法.派生的类DbContext本质上是应用程序的数据访问层.

所以换句话说,如果你想用Entity Framework进行数据访问,DbContext那就是你想要的.


aio*_*kos 18

您可以将其DbContext视为数据库连接和一组表,以及DbSet表本身的表示.将DbContext允许您模特属性(大概是使用实体框架)与连接字符串连接到数据库.

稍后,当您希望引用控制器中的数据库来处理数据时,请参考DbContext.例如,

public class UserSitesContext : DbContext
{
    public UserSitesContext()
        :base("name=UserSitesContext")
    {
    }

    public virtual DbSet<Site> Sites { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

稍后在控制器中引用

private UserSitesContext dbUser = new UserSitesContext();

var queryExample = from u in dbUser.Sites select u;
Run Code Online (Sandbox Code Playgroud)

:base("connection")指的是你找到的连接字符串Web.config.