TTT*_*TTT 10 c# entity-framework
我的目标是复制现有实体,稍微修改它,然后插入修改后的版本.
我尝试了两种似乎都有效的方法:
var thing = context.Things.Where(x => x.SomeID == someid).AsNoTracking().Single();
thing.AnotherID = 1234;
context.Things.AddObject(thing);
context.SaveChanges();
var thing = context.Things.Where(x => x.SomeID == someid).Single();
context.Detach(thing);
thing.AnotherID = 1234;
context.Things.AddObject(thing);
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
据我所知,他们都在实现我的目标.其中一个比另一个好,还是它们都同样好(或错误!?)
Sla*_*uma 21
第一个版本更好,我更喜欢它,因为
Detach.相关的子项将保持附加,其中包含将清除关系的价格(例如,子实体的导航集合将被清空,参考导航属性将被设置为null),因为EF不允许具有附加组合的对象图形和分离的实体.| 归档时间: |
|
| 查看次数: |
3668 次 |
| 最近记录: |