おそらく、テーブルに主キーが必要です。これにより、テーブルでの作業がはるかに簡単になります。主キーがない場合は、主キーとして設定する適切な候補キーを見つけてみてください。適切な列がない場合は、自動インクリメント サロゲート キー ( SQL Server ではIDと呼ばれます) を追加することを検討してください。主キーが既にある場合は、LINQ to SQL クラスが更新されていることを確認してください。
ただし、すべての値を削除したいだけの場合、この方法は遅すぎることに気付くかもしれません。別の方法は、以下を使用して SQL を直接実行することDataContext.ExecuteCommand
です。
database.ExecuteCommand("DELETE Contacts");
これには、テーブルに主キーがある必要はありません。これにより、テーブル内のすべての行が取り返しのつかないほど削除されるため、注意してください。TRUNCATEコマンドはさらに高速ですが、これにはより高い権限が必要であることに注意してください。
database.ExecuteCommand("TRUNCATE TABLE Contacts");
繰り返しますが、このコマンドには注意してください。テーブルからすべての行が削除されます。