【发布时间】:2012-09-30 11:40:56
【问题描述】:
在数据库(SQL Server)中设置主键为identity
使用 EF 插入数据时出现错误
无法为表“myTable”中的标识列插入显式值 当 IDENTITY_INSERT 设置为 OFF 时
对于这个特定的实体,虽然我使用与其他实体相同的方法来插入数据并且没有错误。
public class MyTable
{
[Key/*,DatabaseGenerated(DatabaseGeneratedOption.Identity)*/]
public int ID{get;set;}
public string name {get;set;}
public string type {get;set;}
public string status {get;set;}
public int country {get;set;}
public DateTime start_date {get;set;}
public DateTime due_date {get;set;}
}`
查询
MyTable check= new MyTable();
check.name = checkName;
check.type = "DB";
check.status = "New";
check.country = country;
check.start_date = DateTime.Now;
check.due_date = dueDate;
db.myTables.Add(check);
db.SaveChanges();
更新:
取消上面一行的注释后
(DatabaseGenerated(DatabaseGeneratedOption.Identity))
抛出异常
ReferentialConstraint 中的依赖属性映射到 商店生成的列。列:“ID”
【问题讨论】:
-
取消注释给定的行 /*,DatabaseGenerated(DatabaseGeneratedOption.Identity)*/ 看看它是否有效
-
我试过了。它仍然无法正常工作。它让我期待“ReferentialConstraint 中的依赖属性被映射到存储生成的列。列:'ID”
标签: asp.net asp.net-mvc-3 entity-framework entity-framework-4 ef-code-first