我想进行深度克隆,然后像这样保存新的新实体,但是应该更改PropertyInfo上的外键PropertyId以引用新创建的Property-是否有实现此目的的简便方法?
报告的重复问题无法解决我的问题,它回答了如何深度克隆实体,但不解决如何更新关联实体上的FK。
var originalEntity = Context.Property.Include("PropertyInfo")
.AsNoTracking()
.FirstOrDefault(e => e.Id == 1);
Context.Properties.Add(originalEntity);
答案 0 :(得分:0)
删除主要ID
var originalEntity = Context.Property.Include("PropertyInfo")
.AsNoTracking()
.FirstOrDefault(e => e.Id == 1);
originalEntity.Id = 0;
//either create propertyinfo or assign propertyinfo
originalEntity.PropertyInfo = createdPropertyInfo || Context.PropertyInfo.First(x => x.Id == idOfFKPropertyInfo);
Context.Properties.Add(originalEntity);