我已经简化了我的代码以更好地说明我的观点。我需要有一些业务逻辑来测试属性是否从 a 更改为 b。我面临的问题是我正在操作的实体附加到我的 DBContext。如果我更新我的参考之一上的属性,另一个也会更新:
....
var oldEntity = context.Find(x);
var updatedEntity = context.Find(x);
//here updatedEntity.IntProperty is 6
updatedEntity.IntProperty = 7;
//here both oldEntity.IntProperty and updatedEntity.IntProperty
//are now 7 so my test isn't hit
if(oldEntity.IntProperty != updatedEntity.IntProperty &&
updatedEntity.IntProperty == 7)
{
....
是否有一些方便的方法可以在将此实体附加到 DBContext 的同时进行我想要的比较?