EF的新手,我注意到使用存储库模式可以真正简化事情并允许我做一些嘲弄.太好了.
我的问题
objectContext的典型用法是尽快销毁,见下文
using (var context = new SchoolEntities())
{
context.AddToDepartments(department);
context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
使用Repository模式我注意到没有人真正使用"使用模式",例如
using (var repository= new Repository<Student>(new MyContext))
{
repository.Add(myStudentEntity)
repository.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
应该是我们应该尽快处理上下文,否则内存可能会泄漏或变得非常大?
任何人都可以澄清吗?非常感谢.
我对ASP.NET MVC应用程序中实体框架上下文的期望生命周期有一些疑问.是不是最好尽可能在最短的时间内保持上下文?
请考虑以下控制器操作:
public ActionResult Index()
{
IEnumerable<MyTable> model;
using (var context = new MyEntities())
{
model = context.MyTable;
}
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码将不起作用,因为在视图呈现页面时,实体框架上下文已超出范围.其他人如何构建上面的代码?