让我说我有这个:
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?
甚至可能吗?可能很简单,我不确定。
提前感谢。
答案 0 :(得分:3)
以前曾经问过这个问题,不,没有办法实现这个目标。
entity
和entity2
必须位于不同的数据上下文中才能实现您的目标。
答案 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!";
后者是更好的设计,但根据场景可能需要前者