将实体添加到上下文中

时间:2014-05-23 15:16:16

标签: entity-framework

为什么这个简单的添加不起作用!我从数据库中获取以前的记录,使用前一个记录的数据实例化要添加的新实体,除了我将报告编号增加1.我不断收到错误“属性'ReportNbr'是主键的一部分,不能被修改。“我认为此错误是您尝试更新现有实体的主键字段时。

这是我使用的对象和以前的记录。

var previousRecord = _repo.GetLatestRecord();
            var recordToAdd = new Record()
            {
                Year = previousRecord.Year,
                Month = previousRecord.Month,
                ReportNbr = ++previousRecord.ReportNbr,
                ...//other info
            };
_repo.AddRecord(recordToAdd);

显示的三个字段是表的主键。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

如果您有更改跟踪,

++previousRecord.ReportNbr 

正在更新previousRecord。

尝试

ReportNbr = previousRecord.ReportNbr + 1;