asp.net-mvc – ASP.NET MVC中的实体框架和对象上下文生存期

我在我的项目中使用实体框架,我遇到的问题是,一旦我将实体传递给View(请记住,这些实体具有以下行的惰性初始化对象:Products.Owner,其中所有者是懒惰地初始化的对象)我得到一个运行时异常,告诉我ObjectContext超出范围.

现在这是有道理的,因为我使用using(…. entities …){….}语句从服务获取实体,这意味着它在返回结果时被处理.

我如何解决这个问题并拥有一个始终存在的对象上下文.谢谢.

最佳答案 一种选择是将存储库与Request关联,并使Repository实现IDisposable,并让Dispose方法处置包含的ObjectContext,而不是在控制器操作中使用更熟悉的使用模式.

点赞