10
我的目標是複製現有實體,稍微修改它並插入修改後的版本。實體框架:分離和AsNoTracking之間的區別
我已嘗試似乎都工作兩種不同的方法:
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();
從我可以告訴他們倆都實現我的目標。是這些比其他的更好的,或者是他們都同樣細(或錯!?)
僅供參考,由於您使用了'FirstOrDefault','thing'可能是'null'。在嘗試使用'thing'之前,你需要檢查'null'。 –
@JohnSaunders - thx。我編輯它以使用Single來代替。 – TTT