实体框架4部分SaveChanges

时间:2011-06-20 17:50:59

标签: c# entity-framework-4 entity-framework-4.1

让我说我有这个:

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();

我的问题是,如果我只想更新实体而不是实体2?

甚至可能吗?可能很简单,我不确定。

提前感谢。

2 个答案:

答案 0 :(得分:3)

以前曾经问过这个问题,不,没有办法实现这个目标。

entityentity2必须位于不同的数据上下文中才能实现您的目标。

答案 1 :(得分:2)

从不同的上下文中获取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!";

后者是更好的设计,但根据场景可能需要前者