2016-06-21 3 views
0

SQL Serverを使用している私のprjectのコードを最初に使用しています。私は2つのクラスモデルを持っています。私は基本クラスとその継承クラスのdbsetsを持っています。基本クラスには、削除したいレコードがいくつか含まれています。関連するレコードを削除し、継承したレコードも削除します。誰かが私にそれをやる方法を助けることができますか? TY継承を使用したコードの最初のカスケード削除

+0

継承を使用すると、常に1つのエンティティのみが削除され、EFは選択した継承方法に従って適切なレコードを削除します。 –

答えて

0

カスケード削除という用語は、他のテーブルから関連する行を削除したいという意味です。これはあなたが望むものとは異なるものです。

記載されたアプローチの下に与えられたが、あなたの問題を解決するお手伝いをすることができます。

1)あなたは、SQLトリガTODO使用することができます。SQL Server ON DELETE Trigger は削除であなたのSQLトリガを定義し、このトリガーは、関連する行

を削除しますが

2)あなたは

3トリガと同じですが、C#でsqldependency https://msdn.microsoft.com/de-de/library/62xk7953(v=vs.110).aspx を使用することができます)あなたはIDbCommandTreeInterceptorを使用することができます:http://www.codeguru.com/csharp/csharp/soft-deleting-entities-cleanly-using-entity-framework-6-interceptors.htmlあなたはSQにそれを送っ前 は、クエリを変更しますLサーバー

私はあなたにそれを簡単に保つことを勧めます。 Repostioryパターンを使用し、削除によって手動で削除ルールを適用します(関連するエンティティを検索して削除します)

関連する問題