【发布时间】: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