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

时间:2015-08-11 22:53:05

标签: c# asp.net-mvc entity-framework

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

的示例

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

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

感谢任何帮助。

5 个答案:

答案 0 :(得分:19)

我首先要说DbContext类与Entity Framework (EF)有关,但问题代码会暗示你自己想出了很多。在典型用法中,从DbContext类派生只是 将基于EF的数据访问合并到应用程序中的方式。从DbContext派生的类本质上是应用程序的数据访问层。

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

答案 1 :(得分:16)

您可以将DbContext视为数据库连接和一组表,并将DbSet视为表本身的表示。 DbContext允许您使用连接字符串将模型属性(可能使用实体框架)链接到数据库。

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

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

    public virtual DbSet<Site> Sites { get; set; }
}
稍后在控制器中引用

,如

private UserSitesContext dbUser = new UserSitesContext();

var queryExample = from u in dbUser.Sites select u;

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

答案 2 :(得分:2)

这是负责管理数据库连接的基类,并提供各种与数据库相关的功能,例如与数据库交互的数据访问方法。

答案 3 :(得分:0)

DbContext是Entity Framework提供的一个类,用于建立与数据库的连接,查询数据库并关闭连接。

扩展DbContext允许用DbSet定义数据库模型(特定Set映射到一个或多个表),创建数据库,查询数据库......

答案 4 :(得分:0)

Entityframework中的dbContext与DAL数据访问层一样,与您的数据库建立连接。