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();
:
私は両方が動作するように表示される2つの異なる方法を試してみました。他よりもこれらの優れたの1、またはそれらの両方が均等に罰金(または間違った!?)
FYI、 'FirstOrDefault'を使用しているので、' thing'は 'null'になる可能性があります。 'thing'を使う前に' null'をチェックする必要があります。 –
@JohnSaunders - thx。私は代わりにSingleを使うように編集しました。 – TTT