1. ホーム
  2. c#

[解決済み] Linq to Sql: テーブルを素早くクリアする方法

2023-03-18 10:44:28

質問

テーブルの行をすべて削除するために、現在以下のようにしています。

context.Entities.DeleteAllOnSubmit(context.Entities);
context.SubmitChanges();

しかし、これには時間がかかるようです。もっと早い方法はないでしょうか?

どのように解決するのですか?

通常の SQL の切り捨てまたは削除コマンドを実行することができます。 DataContext.ExecuteCommand メソッドを使用します。

context.ExecuteCommand("DELETE FROM Entity");

または

context.ExecuteCommand("TRUNCATE TABLE Entity");

Linq to SQLがDELETE文を生成するため、削除の方法に時間がかかっています。 各エンティティ に対してDELETE文を生成するためです。 タイプセーフ