EF6新增的实体怎么获取他的导航属性?

2020-06-30 15:12发布

问题:

db.Entity.Add(entity);
db.SaveChanges();
ToModel(entity); // Error!
ToModel是查询和新增时通用的将实体映射成ViewModel的方法,方法里面会调用导航属性,
试过Entry.Reload,还有重新Find出来,都不能填充导航属性,要怎么解决?

回答1:

对于导航属性应先做查询,确保外键有效性,而不是直接设置外键就不管他了.

如果先查询的导航属性对应的实体,那么新增的实体就是会包含导函属性的.



回答2:

保存之后重新查一下,不能直接用,直接用的是没有追踪数据上下文的



回答3:

你添加过后需要重新查询,



回答4:

使用Include方法将导航属性包含进去。