Es gibt eine Update-Methode, die Ausnahme auslöst, aber es funktioniert gut in der ersten Anmeldung nach dem zweiten Versuch löst Ausnahme mit Nachricht; **EF löst Ausnahme nach zweitem Update-Versuch aus
Zusätzliche Informationen: eine Einheit vom Typ Anbringen ‚Hsys.InfluenzaTaniBilgisi‘ ist fehlgeschlagen, weil eine andere Einheit derselben Art bereits den gleichen Primärschlüssel Wert hat. Dies kann passieren, wenn die Methode 'Attach' verwendet oder den Status einer Entität auf 'Unverändert' oder 'Modifiziert' setzt, wenn Entitäten im Diagramm widersprüchliche Schlüsselwerte haben. Dies kann daran liegen, dass einige Entitäten neu sind und noch keine datenbankgenerierten Schlüsselwerte erhalten haben. In diesem Fall verwenden Sie die "Add" -Methode oder den Entity-Status "Added", um den Graphen zu verfolgen und dann den Status von nicht-neuen Entitäten auf "Unverändert" oder "Modified" als geeignet.
** Iknow seinen gemeinsamen und viele smilar Problem gefunden, aber ich konnte es funktioniert ..
hier Code Stück;
public void CreateUpdateInfluenzaTani(InfluenzaTaniBilgisi taniBilgisi)
{
using (HsysDbContext con = new HsysDbContext())
{
if (con.InfluenzaTestTanilari.Any(x => x.ICD10TaniKodu == taniBilgisi.ICD10Kodu && x.IsDeleted != true))
{
var taniExist = con.InfluenzaTaniBilgisi.FirstOrDefault(x => x.MuayeneId == taniBilgisi.MuayeneId && x.ICD10K
odu == taniBilgisi.ICD10Kodu && x.IsDeleted != true);
if (taniExist == null)
{
taniBilgisi.ObjectState = Framework.Entities.ObjectState.Added;
Create(taniBilgisi);
}
else
{
taniExist.HastaYasi = taniBilgisi.HastaYasi;
taniExist.HekimTC = taniBilgisi.HekimTC;
taniExist.ObjectState = Framework.Entities.ObjectState.Modified;
Update(taniExist);// throws Exception!
}
}
}
}
Was in der Update-Methode ist? – Sefe
Welche Version von EntityFramework verwenden Sie? – Nikolaus
Ich denke das Problem liegt im Update-Call. Vielleicht ist es besser, den ObjectState nicht zu setzen und die Update-Methode aufzurufen. – Nikolaus