質問: 私はSqlBulkCopyを使用してテーブルの行のコレクションを挿入しました。私は行に整数値を設定するのを忘れていました。欠落している列は別のテーブルを参照するために使用され、これは外部キー制約で強制されます。 挿入されたすべての行について、最終的な整数値はゼロであり、ゼロは関連テーブルの行を識別しませんでした。私は値を有効な値に変更し、それをゼロに戻してみると、それを受け入れませんでした。 だから私の質問は、どのようにSqlBulkCopyは無効な状態でデータベースを残して管理するのですか?
回答: > SqlBulkCopyはどのようにしてデータベースを無効な状態にすることができますか? > > これは、挿入しているテーブルの外部キーを無効にします。 はい、これは恐ろしいデフォルトです。すべてのオプションがある場合は、 `CHECK_CONSTRAINTS` (または`SqlBulkCopy` `CheckConstraints` )オプションを設定してください。 また、デフォルトでは、データの一貫性のために同様にひどいトリガーも発生しません。トリガーは理由のためにそこにあります。