更新外键导航属性后返回null的实体框架6

时间:2015-01-15 00:12:12

标签: c# .net entity entity-framework-6 repository-pattern

我在我的项目中使用Entity framework 6。我有一个父类Student,它有导航类。 当我更改类导航属性并调用SaveChanges()。一切正常。外键在学生表中更新,但是当我单击加载学生按钮导航属性返回null。我通过删除类导航属性上的虚拟关键字并使用下面的行更新DBContext来禁用延迟加载。

 this.Configuration.LazyLoadingEnabled = false;

并更新了存储库

 public IEnumerable<Students> GetAll()
 {
     return base.objDBSet.Include("Class").ToList();
 }  

整个应用程序正在使用dbContext的单个实例,我坚持使用Singleton模式。如果我重新启动项目,则所有更新的导航属性都具有Class实例。请说明为什么dbcontext在SaveChanges()之后返回null而不重新启动项目。是否可以使用单个Dbcontext实例,或者我应该在每个请求上创建不同的Dbcontext实例?

0 个答案:

没有答案