Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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插件更新问题_C#_Entity Framework - Fatal编程技术网

C# EF插件更新问题

C# EF插件更新问题,c#,entity-framework,C#,Entity Framework,我在插入数据库时没有任何问题,但在执行更新过程时,出现了以下问题 其他信息:附加“kgSoft_Pro.ORM.Models.StokKarti”类型的实体失败,因为相同类型的另一个实体已具有相同的主键值。如果图形中的任何实体具有冲突的键值,则在使用“Attach”方法或将实体状态设置为“Unchanged”或“Modified”时可能会发生这种情况。这可能是因为某些实体是新的,尚未收到数据库生成的键值。在这种情况下,使用“添加”方法或“添加”实体状态跟踪图形,然后根据需要将非新实体的状态设置为

我在插入数据库时没有任何问题,但在执行更新过程时,出现了以下问题

其他信息:附加“kgSoft_Pro.ORM.Models.StokKarti”类型的实体失败,因为相同类型的另一个实体已具有相同的主键值。如果图形中的任何实体具有冲突的键值,则在使用“Attach”方法或将实体状态设置为“Unchanged”或“Modified”时可能会发生这种情况。这可能是因为某些实体是新的,尚未收到数据库生成的键值。在这种情况下,使用“添加”方法或“添加”实体状态跟踪图形,然后根据需要将非新实体的状态设置为“未更改”或“已修改”

地址更新代码

public int InsertOrUpdate(T Entity) 
{
    var type = Entity.GetType();
    var property = type.GetProperty("id");
    var propValue = (int)property.GetValue(Entity);
    dbContext.Entry(Entity).State = propValue > 0 ? EntityState.Modified : EntityState.Added;
    return Save();
}
保存代码

StokKarti stok = new StokKarti();
stok.Adi = txtStokAdi.Text;
stok.AlisFiyati = decimal.Parse(clcAlisFiyati.EditValue.ToString());
stok.StokKodu = btnStokKodu.EditValue.ToString();
stok.Barkod = txtBarkod.Text;
stok.DigerSatis = decimal.Parse(clcDigerFiyat.EditValue.ToString());
stok.GrupKod = lkGrupKodlari.EditValue.ToString();
stok.hizlisatis = chkSatisEkrani.Checked;
stok.PerakendeSatis = decimal.Parse(clcPerakende.EditValue.ToString());
stok.ToptanSatis =decimal.Parse(clcToptanFiyat.EditValue.ToString());
stok.RiskLimiti = (int?)txtRiskLimiti.EditValue ?? 0;
stok.KdvOrani = (int)lkKdvOran.EditValue;
stok.Birim = lkBirim.EditValue.ToString();
stok.Marka = lkMarkasi.EditValue.ToString();
stok.id = id;
sk.InsertOrUpdate(stok);
dbContext.DbSet().AddOrUpdate(实体)

问题已解决

实体框架6,不幸的是,此属性不是。dbContext从何而来?它的生命周期是什么?我解决了这个问题。[code]dbContext.DbSet().AddOrUpdate(实体)[code]
dbContext.DbSet<T>().AddOrUpdate(Entity)