0

我正在尝试通过调用 AddToLeistungGruppe 将 EntityObject 添加到我的数据库中。

在这种情况下,LeistungGruppe 是我的带有 Primary_Key LeistungGruppe_ID 的表,其身份为 true,身份增量为 1,种子为 1。

我为这个问题搜索了很多,很多人都得到了同样的错误。他们被告知只需将 StoreGeneratedPattern 设置为 Identity,这将解决问题。

我试了一下,仍然遇到同样的问题。我是实体框架的新手,不知道如何解决这个问题。

不知何故,我认为模型没有更新可能是因为即使我切换这些设置,我也会一遍又一遍地遇到相同的错误。

感谢您的每一次帮助。

4

1 回答 1

1

您正在尝试使用您设置的显式 ID 将对象保存到数据库中,而数据库希望自己生成该值。也就是说,您的对象中的 LeistungGruppe_ID 属性设置为 0 以外的值,并且它没有被 EF 框架识别为身份字段。如果您希望按照帖子的建议由数据库生成 Id,则 Object 中的相应属性应使用 [Key] 属性进行修饰。

如果您使用的是 Fluent API,那么您的 DBContext 中应该有这样的内容:

protected override void OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder)
{
    modelBuilder.Entity<LeistungGruppe>().Property(x => x.LeistungGruppe_ID).StoreGeneratedPattern = StoreGeneratedPattern.Identity;
    base.OnModelCreating(modelBuilder);
}
于 2013-08-20T07:25:32.067 回答