我有Entity1属性
Entity1.id= 1;
Entity1.a = 10;
Entity1.b = 123;
Entity1.c = 231;
我不想更改属性,而是在context.SaveChanges()上插入一个新行,不要对现有id进行更新。
我试图设置Entity1.entityKey = null
但它失败了。
有什么想法吗?
感谢。
答案 0 :(得分:2)
在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
'复制'实体,除非您对属性进行任何更改。