DB でステートメントを実行したい:
/*Disable Constraints & Triggers*/
exec sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
exec sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'
/*Perform delete operation on all table for cleanup*/
exec sp_MSforeachtable 'SET QUOTED_IDENTIFIER ON; DELETE ?'
/*Enable Constraints & Triggers again*/
exec sp_MSforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
exec sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL'
/*Reset Identity on tables with identity column*/
exec sp_MSforeachtable 'IF OBJECTPROPERTY(OBJECT_ID(''?''), ''TableHasIdentity'') = 1 BEGIN DBCC CHECKIDENT (''?'',RESEED,0) END'
私はLINQデータコンテキストを持っています:
public static bool ClearDatabase()
{
GetContext().ExecuteCommand("");
}
MSDN のドキュメントで明確ではなかった部分は... 各ステートメントを個別のコマンドとして実行するか、実行するために大きな長い文字列を作成する必要がありますか?
execステートメントも保持する必要がありますか?
また、LINQ を使用してデータベースをクリアするより良い方法を誰かが知っている場合は、お知らせください。
ありがとう