我使用EntityFramework作为我的ORM。我使用逆向工程师创建了我的代码模型,并将生成的域对象移动到我的核心层。
当我尝试创建一个新实体,在数据库中有一个带有身份增量的标识列,并且执行SaveChanges()时 - 它失败了。我使用分析器来查看发送到数据库的内容,并且我看到它尝试插入标识列,其中零作为值(因为它是一个整数,它自动被赋值为零作为值)。
如何告诉Entity Framework映射在插入时忽略此字段? (我不想在域对象上执行此操作 - 我希望尽可能保持域对象没有特定注释)
修改
这似乎是因为我已经完成了继承。我创建了一个继承自我试图插入的对象的对象 - 但我不明白为什么会这样做。
答案 0 :(得分:0)
使用Key
属性或将DatabaseGenerationOption.Computed
传递到DatabaseGenerated
键