Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF无法在表';患者供体';当IDENTITY_INSERT设置为OFF时_C#_.net_Entity Framework_Model View Controller - Fatal编程技术网

C# EF无法在表';患者供体';当IDENTITY_INSERT设置为OFF时

C# EF无法在表';患者供体';当IDENTITY_INSERT设置为OFF时,c#,.net,entity-framework,model-view-controller,C#,.net,Entity Framework,Model View Controller,我正在使用EF工作,我有一个具有标识属性的表,我尝试了很多解决方案,但我仍然得到了那个错误。 我将类中的属性定义为: [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int PATIENTDONORID { get; set; } 我仍然得到那个错误,并且我在OnModelCreating中启用了identity选项,我也得到了相同的错误 protected overri

我正在使用EF工作,我有一个具有标识属性的表,我尝试了很多解决方案,但我仍然得到了那个错误。 我将类中的属性定义为:

[Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int PATIENTDONORID { get; set; } 
我仍然得到那个错误,并且我在OnModelCreating中启用了identity选项,我也得到了相同的错误

 protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
           // throw new UnintentionalCodeFirstException();

            modelBuilder.Entity<PATIENT_DONOR>().Property(x => x.PATIENTDONORID)
              .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

        }

我该怎么办?

它现在工作正常。 我意识到在数据库中进行任何更改之后,我必须删除并重新整理模型中的表。
代码本身没有问题

您可以尝试从数据库中的表中将“IsIdentity”属性转换为true吗。也许不是直截了当的方法。但我希望它是数据库中的标识。您希望PatientDonoId列作为PatientDonor表的主键吗?正确。但用户不会手动输入此列。请在问题本身中发布进行插入的代码,包括实际保存更改的代码。这是导致问题的原因,而不是配置。很难阅读注释中的代码。哈哈!哇-我会认为IDE的一个bug。o) 这是我第一次在将DB连接到visual IDE后更改它,所以我以前没有遇到过这个问题
foreach (var item in patient.DONORS)
                {
                    if (item.Checked)
                    {
                        db.PATIENT_DONOR.Add(new PATIENT_DONOR() { PATIENT_ID = patient.PATIENT_ID, DONOR_ID = item.ID});
                    }
                }

               // db.Entry(patient).State = EntityState.Modified;
                db.SaveChanges();