Ich habe ein kleines Programm geschrieben, das einen Datensatz aus der Datenbank mit den RIA Data Services (Silverlight) löscht und ich verwende ein Datagrid, um meine Entität anzuzeigen.Löschen eines Datensatzes kehrt von den Toten zurück, nachdem ich Änderungen unter Verwendung von RIA Data Services
private void DeleteButton_Click(object sender, RoutedEventArgs e)
{
DataContext _PersonService =
(DataContext)(personDataSource.DomainContext);
person removeThisPerson = (person)(dataGrid.SelectedItem);
// This removes it from the grid/entity
_PersonService.persons.Remove(removeThisPerson);
// This removes it from the database.
// After this it shows back up in the grid :(
personDataSource.SubmitChanges();
}
Wenn ich die SubmitChanges Run() der Datensatz aus dem Netz entfernt wird, sondern wieder erscheint dann auf dem Gitter. Es kommt mit einem "EntityState = New" zum Grid zurück.
Wenn ich die Datenbank abfragen, ist der Datensatz weg. Warum entfernt die Entität den Datensatz nicht?
Woher kommen die Zombies?
von Domaincontext Entfernen wir den DDS nicht verwenden. Es ist nur eine direkte Datenform, die MVVM verwendet, um mit dem Kontext zu sprechen. – johnnywhoop