我是mvc的新手并且已经做了一些教程来掌握它,但在其中一些教程中,我遇到了一个带有DbContext类asp.net mvc5 with EF6 tutorial
的示例我已经尝试过研究DbContext Class的信息,但无法获得任何让我更聪明的信息!所有我能找到的更多相同的教程,只有很少的信息我也在msdn DbContext Class上查了课。
我之前的教程没有db上下文类,它工作正常,我的问题是我需要使用上下文类,使用DbContext类有什么好处?
感谢任何帮助。
答案 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数据访问层一样,与您的数据库建立连接。