選択した連絡先を削除する

updateと似たような処理であるが、削除対象を選択してRemoveを実行してからSaveChangesを実行する。

private void buttonDelete_Click(object sender, RoutedEventArgs e)
{
    using (var lc = new LearnContext())
    {
        var item = lc.TrnAddresses.Find(VM.SelectedAddress.Id);
        if (item != null)
        {
            if (MessageBox.Show("削除しますか", this.Title, MessageBoxButton.OKCancel, MessageBoxImage.Warning) == MessageBoxResult.OK)
            {
                lc.TrnAddresses.Remove(item);
                lc.SaveChanges();
                MessageBox.Show("削除しました", this.Title);
            }
        }
    }
}

大量データの削除も一度レコードを取得する必要があるようで、一発で全レコード削除する方法をみつけることができなかった。

以下のコードのように生SQLを実行すれば全レコード削除ができるのだが、なんか負けた気分。

lc.Database.ExecuteSqlRaw(@"delete from trn_address");

トップページ

コメント

タイトルとURLをコピーしました