【问题标题】:Adding unexisting entities while creating another entity在创建另一个实体时添加不存在的实体
【发布时间】:2012-02-09 15:44:43
【问题描述】:

我正在使用 Asp.net MVC3 和 Entity framework 4 建立博客。博客文章的大部分属性已经存在于数据库中,因此可以在创建过程中轻松链接到博客文章。

我添加的最后一个元素是源,这些源直接链接到我的 BlogPost,并且必须在创建 BlogPost 期间添加。我的想法是使用 BlogPost 实体的实体属性 Sources,例如:

blogPost.Sources.Add(new Source() { Name = source.Value, Url = source.Key.ToString(), Type = "source" });

不幸的是,我不允许以这种方式创建和添加源,我收到错误消息:“当 IDENTITY_INSERT 设置为 OFF 时,无法在表 'Source' 中插入标识列的显式值。”

我猜这是 ID 列的原因,该列具有打开身份增量的身份,但我自己没有设置任何 ID。我试图使 id = null,但由于它不是可空的,因此也不允许。 我相信关闭此功能可以让我添加带有自己 ID 的记录,但这不是我想要的。数据库应创建 ID。

有没有办法在创建过程中添加这些类型的属性?

【问题讨论】:

  • 你用的是什么EF?代码优先,模型优先? Source 对象是否具有 Id 属性?它是如何映射的?
  • 我使用的是 EF 版本 4,它是从我的数据库模型生成的。
  • 源通过源表中的“BlogPostID”字段映射到博文。来源!Image.

标签: asp.net entity-framework entity-framework-4


【解决方案1】:

我通过从数据库中再次添加源实体解决了这个问题,显然实体框架模型是在字段设置为身份增加之前生成的,因此想要插入它自己的 ID。

【讨论】:

    猜你喜欢
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多