我只是想知道Context类是如何工作的。它是在编译时加载所有数据还是在运行时加载必要的数据。因为我总是创建上下文类对象来访问数据或将数据存储到数据库。这是一个简单的代码,用于解决问题:
StudentContext db = new StudentContext();
public ActionResult Index()
{
ViewBag.student = db.students.ToList();
return View();
}
OR
var check = db.users.Where(w=>w.UserName.ToLower()==user.UserName.ToLower());
答案 0 :(得分:2)
我是ASP.NET MVC的新手。我只是想知道Context类是如何工作的。
ASP.NET MVC没有Context类。你的意思是实体框架的上下文类。 ASP.NET没有具体的内容 - 很像你从未问过的问题"手机如何在梅赛德斯汽车中工作"因为你的手机工作方式不依赖于你的车。
它是否在编译时加载所有数据
在COMPILE时加载数据有多么愚蠢?如果数据在应用程序运行时发生变化怎么办?大多数数据库都存在要编辑的数据。
或在运行时加载必要的数据。
哪个更有意义,或者?因为想象 - 人们,特别是多个用户,可能会改变数据。预加载是有问题的 - 特别是如果你在ocmpile时这样做。使用非平凡的应用程序 - 即使是为网页分发编译(预编译也是一种功能) - 这意味着
的UPS。完全没有意义。这就是为什么事情不能像这样工作的原因。
同样,这与MVC无关 - 这是我们谈论的实体框架,您可以在Web应用程序之外轻松使用它。
答案 1 :(得分:0)
DbContext
课程是MS Entity Framework的一部分。这是一个对象关系映射器,它从LINQ表达式创建SQL语句,并使用它们在运行时访问数据库。另请参阅LINQ to Entities