Ich versuche ein Objekt mit EntityFramework 5 zu löschen, aber ich erhalte diesen Fehler. Das Objekt kann nicht gelöscht werden, da sie nicht in der Object
gefunden wurde ich bin mit der Remove()
Methode als DeleteObject()
in EF5 nicht vorhanden ist. Kann mir jemand helfen, was fehlt mir?Das Objekt kann nicht gelöscht werden, weil es nicht im ObjectStateManager im Entitätsframework gefunden wurde. 5
funktioniert das nicht für Remove
localDb.Customers.Remove(new Customer() { CustomerId = id });
localDb.SaveChanges();
Eine andere Sache, die ich von Msdn versucht, den Staat zu Deleted zu ändern. Aber hier gibt es einen Fehler, der besagt, dass alle Felder vorhanden sein sollten. Ist es notwendig, den kompletten Datensatz zu löschen und dann zu löschen?
var customer = new Customer(){ CustomerId = id };
localDb.Customers.Attach(customer);
localDb.Entry(customer).State = EntityState.Deleted;
localDb.SaveChanges();
Irgendwelche Eingaben?
Danke Nicholas, nur um mein Konzept zu verbessern. Warum wird die Validierung auf der EF-Seite statt auf der SQL-Seite durchgeführt? ist dies der einzige Weg für einen einzigen Treffer, weil diese Einstellungen mir wichtig erscheinen ... Bitte korrigieren Sie mich, wenn etwas nicht stimmt. –
Bis jetzt ist dies die einzige Antwort, die ich glaube, ohne 2 Trips nach Db zu verursachen. Also dies als die Antwort in Bezug auf die Leistung zu markieren. –
northwind.Entry (entity) .State = System.Data.Entity.EntityState.Deleted; für mich behoben, danke – balron