0
我ENTITY1與性能如何更新實體但在SaveChanges上插入新行?
Entity1.id= 1;
Entity1.a = 10;
Entity1.b = 123;
Entity1.c = 231;
我wan't改變性質,但對context.SaveChanges插入新行()不爲現有ID做更新。 我試圖設置Entity1.entityKey = null
但它失敗。
任何想法?
謝謝。
我ENTITY1與性能如何更新實體但在SaveChanges上插入新行?
Entity1.id= 1;
Entity1.a = 10;
Entity1.b = 123;
Entity1.c = 231;
我wan't改變性質,但對context.SaveChanges插入新行()不爲現有ID做更新。 我試圖設置Entity1.entityKey = null
但它失敗。
任何想法?
謝謝。
設置EntityState
到Added
在ObjectStateManager
:
var Entity1 = context.YourEntities.Where(e => e.Id == 1).FirstOrDefault();
ObjectStateEntry osmEntry = context.ObjectStateManager.GetObjectStateEntry(Entity1);
osmEntry.ChangeState(EntityState.Added);
context.SaveChanges();
也就是說,如果你的實體已經被附加到上下文(例如,如果你之前獲取它)。
除非您對屬性進行任何更改,否則將使用Id = 1
「複製」該實體。
你想要一種'複製實體'嗎? – 2010-07-21 14:14:18
是的,但是也改變了一些屬性。 – 100r 2010-07-22 06:51:13