实体框架将更改的数据保存为副本

时间:2013-02-22 03:36:34

标签: c# entity-framework-5

我需要将数据更改为最初收费模型的副本/如果我这样说,会影响原始数据吗?

var val = context.RecordsContent.Find(id);
val.Text = "CHANGED";
var newval = new LocalizedText { Record = val.Record, Text = val.Text, Mask = val.Mask, Type = val.Type, Rev = val.Rev + 1 };
context.RecordsContent.Add(newval);

我是否需要使用另一个上下文实例?

1 个答案:

答案 0 :(得分:1)

您的代码尚未保留更改;但是,在调用SaveChanges后,它会保存val.Text的新值以及新的newVal对象。

如果您不想保留对val所做的更改,您可以通过创建新对象并设置其所有属性来制作副本,几乎就是您已使用newvVal进行的操作