加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – EF代码优先:当IDENTITY_INSERT设置为OFF时,无法在表

发布时间:2020-12-16 06:31:48 所属栏目:asp.Net 来源:网络整理
导读:将主键设置为数据库中的标识(SQL Server) 使用EF插入数据时,我收到错误 Cannot insert explicit value for identity column in table ‘myTable’ when IDENTITY_INSERT is set to OFF 使用这个特定实体,虽然我使用与其他实体相同的方法来插入数据并且不会出
将主键设置为数据库中的标识(SQL Server)

使用EF插入数据时,我收到错误

Cannot insert explicit value for identity column in table ‘myTable’
when IDENTITY_INSERT is set to 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))

这是一个例外

A dependent property in a ReferentialConstraint is mapped to a
store-generated column. Column: ‘ID’

解决方法

我不确定它是否也在你的情况下….但第二个错误说..你在一些关系中使用你的主键作为外键,这只对具有DatabaseGeneratedOption.None的属性有效.

因此,要将主键用作标识,可以使用DatabaseGeneratedOption.Identity对其进行装饰?在这种情况下,它将抛出异常,因为您不能使用identity作为关系(而是使用DatabaseGeneratedOption.None).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读