DbContext SaveChanges使用Identity Key抛出InvalidOperationException

时间:2016-04-26 15:53:50

标签: c# entity-framework entity-framework-6 primary-key

我的Book实体带有字符串 ID密钥,该密钥以INSTEAD OF TRIGGER计算,并通过将生成的值包含在内而返回给EF触发器内有一个Select

  Property(c => c.ID)
    .HasMaxLength(100)
    .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

通过DbSet.Add方法向商店添加新实体后,一旦我调用其中任何一个,我就会得到以下异常:

  • context.Books.Local
  • context.Books.Find(ID);
  • context.SaveChanges();
  • context.GetValidationErrors();

例外:

The key field 'ID' cannot have a value of null. 
A non-null value is required for the key fields defined on type 'Book'.

当我将其设为Identity时,为什么SaveChanges()对空键不满意?

0 个答案:

没有答案