实体框架4 Partialy SaveChanges [英] Entity Framework 4 Partialy SaveChanges
本文介绍了实体框架4 Partialy SaveChanges的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
说我有这个:
var entity = db.histories.GetWhere(x => x.Body = =MyBody)。FirstOrDefault();
var entity2 = db.histories.GetWhere(x => x.Body ==MyBody2)。FirstOrDefault();
entity.From =lmao!;
entity2.From =lmao2!;
现在我知道要更新我必须调用 db.SaveChanges() ;
我的问题是,如果我只想更新实体,而不是entity2?
是否甚至可能?可以简单的不能确定。
提前感谢。
解决方案
从单独的上下文中获取2个实体:
var entity = db.histories.GetWhere(x => x.Body ==MyBody)。FirstOrDefault();
var entity2 = differentDbInstance.histories.GetWhere(x => x.Body ==MyBody2)。FirstOrDefault();
或从相同的上下文中检索,但在进行更改之前需要保存
db.Detach(entity2);
entity2.From =lmao2!;
后者是更好的设计,但您可能需要前者根据场景
Lets say i have this:
var entity = db.histories.GetWhere(x => x.Body == "MyBody").FirstOrDefault();
var entity2 = db.histories.GetWhere(x => x.Body == "MyBody2").FirstOrDefault();
entity.From = "lmao!";
entity2.From = "lmao2!";
now i know that to update i have to call db.SaveChanges();
my question is what if i want to update entity only and not entity2 ?
is that even possible ? could be simple im not sure.
thanks in advance.
解决方案
Either get the 2 entities from separate contexts:
var entity = db.histories.GetWhere(x => x.Body == "MyBody").FirstOrDefault();
var entity2 = differentDbInstance.histories.GetWhere(x => x.Body == "MyBody2").FirstOrDefault();
or retrieve from the same context but detach before making changes you dont want saved
db.Detach(entity2);
entity2.From = "lmao2!";
The latter is better design but you may need to former depending on the scenario
这篇关于实体框架4 Partialy SaveChanges的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文