我正在尝试使用SetValues方法克隆一个实体,但是我收到以下错误:
实体类型'TariffPeriod'的实例无法跟踪,因为已经有另一个具有相同{'Id'}键值的实例正在被跟踪。在附加现有实体时,请确保只附加具有给定键值的一个实体实例。
这是代码:
var period2 = _tariffRepository.GetPeriodFull(period.GUID);
var period3 = new TariffPeriod();
_appDbContext.TariffPeriods.Add(period3);
_appDbContext.Entry(period3).CurrentValues.SetValues(period2);
我看到错误是由于主键值被复制到新实体中导致的。那么,如何在不复制键的情况下复制值?
谢谢你的帮助 Eric