RIA Data Services(Silverlight)を使用してデータベースからレコードを削除する小さなプログラムを作成し、データグリッドを使用してエンティティを表示しています。
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();
}
SubmitChanges()を実行すると、レコードはグリッドから削除されますが、グリッドに再表示されます。「EntityState=New」でグリッドに戻ります。
データベースにクエリを実行すると、レコードが失われます。では、なぜエンティティはレコードを削除しないのですか?
ゾンビはどこから来たのですか?