实体框架4 Partialy SaveChanges [英] Entity Framework 4 Partialy SaveChanges

查看:195
本文介绍了实体框架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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆