【发布时间】:2013-12-19 02:26:22
【问题描述】:
我的代码:
Models.Resource r = new Models.Resource();
r.Name = txtName.Text;
r.ResourceType = resTypes.Find(rt => rt.Name == "Content");
r.ResourceContents.Add(_resourceContent.Find(rc => rc.ID == _resourceContentID));
ctx.Resource.Add(r);
ctx.SaveChanges();
ctx.SaveChanges() 导致错误: 当 IDENTITY_INSERT 设置为 OFF 时,无法为表“资源”中的标识列插入显式值。
查看发送到 SQL 的内容: ADO.NET:执行非查询“INSERT [dbo].[Resources]([ID], [Name], [Description], [IsOnFile], [ContentOwnerAlias]、[ContentOwnerGroup]、[ResourceTypes_ID]) 值(@0、@1、@2、@3、@4、@5、NULL)"
我的 POCO 资源有 ID 作为键:
public partial class Resource
{
public Resource()
{
}
[Key]
public int ID { get; set; }
还有我的地图代码:
public class ResourceMap : EntityTypeConfiguration<Resource>
{
public ResourceMap()
{
// Primary Key
this.HasKey(t => t.ID);
我如何告诉 Entity 不要将 Key ID 字段发送到数据库?
【问题讨论】:
标签: entity-framework ef-code-first code-first