Ich versuche, eine Zeile aus der Datenbank usin diesen CodeAsNoTracking und entfernen
System.InvalidOperationException
public ListPicture GetPicture(string Id) { ListPicture pic = Pictures.AsNoTracking().FirstOrDefault(x => x.pId == Id); return pic; } public void DeletePicture(string Id) { ListPicture pic = GetPicture(Id); if(pic != null) { Pictures.Remove(pic); } SaveChanges(); }
auf Entfernen Ich habe diesen Fehler zu löschen: Das Objekt kann nicht gelöscht werden, da es nicht im ObjectStateManager gefunden.
Ich habe versucht, an der Einheit pic Bilder
public void DeletePicture(string Id)
{
ListPicture pic = GetPicture(Id);
if(pic != null)
{
Pictures.Attach(pic);
Pictures.Remove(pic);
}
SaveChanges();
}
dies der Fehler ist:
System.InvalidOperationException: Anbringen einer Einheit des Typs 'Album.DatabaseContext.ListPicture' fehlgeschlagen, weil eine andere Entität desselben Typs bereits den gleichen Primärschlüsselwert aufweist.
die Funktion GetPicture viele Male in meiner Anwendung verwendet wird, wie ich dieses Problem
Wo und wie haben Sie versucht, ein Bild an Ihren EF-Kontext anzuhängen? –
Ich habe den Attach-Code hinzugefügt – melom