实体类型“库”上的属性“ BookId”具有一个临时值。显式设置永久值,或确保数据库为

时间:2019-02-18 17:05:25

标签: entity-framework .net-core entity-framework-core ef-migrations

当我使用Entity Framework Core和种子数据进行迁移时,出现此错误:

  

实体类型“库”的属性“ BookId”具有临时属性   值。明确设置永久值,或确保   数据库配置为为此属性生成值。

2 个答案:

答案 0 :(得分:0)

该消息表示您为键指定了一个值,如果您与ForeignKey有依赖关系,则该值不存在。

答案 1 :(得分:0)

当我有唯一索引时,我遇到了同样的异常,AddRange在唯一索引上失败,然后在catch异常块内部尝试删除整个插入的集合。 (不是我的代码,但是我必须修复它:-))

代码示例(简体):

try {
    context.AddRange(users); // List<User>, has property List<Contact>
    context.SaveChanges(); // throws exception on unique index
} catch (Exception ex) {
    context.RemoveRange(users); // this throws exception "The property 'UserID' on entity type 'Contact' has a temporary value"
    throw;
}