首页 > 其他 > 详细

ef 更新导航属性

时间:2014-12-15 15:23:17      阅读:535      评论:0      收藏:0      [点我收藏+]

总之,要让所有的东西,都被DbContext管理状态

1、查出来,改了,再提交

2、new 出来,attach,再改,再提交

以上两种都较好理解

3、new出来,改了,再attach,在改状态,再提交

改状态这里,不是和普通属性一样Property(x=>x.?).IsModify=true,导航属性不能用这样的方式

因为导航属性对应的是一个集合,而状态是要对应到集合里的每个元素具体的状态,而不是集合整个的状态

((IObjectContextAdapter)db).ObjectContext.ObjectStateManager.ChangeRelationshipState(sourceEntity, targetEntity,navigationPropertySelector, relationshipState);
语句略显繁琐
第一个主表的对象
第二是导航属性集合中的某一个具体的对象
第三个是主表对象的导航属性x=>x.属性
最后一个是状态

ef 更新导航属性

原文:http://www.cnblogs.com/czcz1024/p/4164790.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!