【发布时间】:2011-08-01 20:52:39
【问题描述】:
Advocation 用于在实体框架中使用块似乎是popular,但用于 MVC 的 this 教程显示了在类级别创建一次实体的对象上下文。我首先遇到了后者,所以我一直在使用它。我现在正在尝试切换到 using 块方法以查看它是否真的更快,但是在视图上遇到了这个错误:
The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
视图正在尝试访问由此创建的集合:
homeView.UserList = new SelectList((from n in db.Users where n.US_INACTIVE == 0 orderby n.US_FULL_NAME select n).AsEnumerable(), "US_USER_ID", "US_FULL_NAME");
我不明白为什么它仍然试图从视图访问对象上下文(当它使用该 SelectList 时),而它本应填充到受控对象中。更令人困惑的是,对于其他数据库填充的数据是否不会出现同样的问题,这似乎使它进入视图就好了。
除此之外,我需要做什么才能正确地将数据从 using 块中获取到视图中?或者,对于 MVC 来说,使用块是错误的方式吗,我应该继续为类使用一次对象上下文吗?
【问题讨论】:
标签: asp.net-mvc-3 entity-framework-4