1

私が取り組んでいるユーティリティで EF を使用していますが、かなりイライラする問題に遭遇しました。Template、Target、および TemplateTarget の 3 つのテーブルがありますが、これら 3 つのテーブルを EDMX に追加すると、最終的には 2 つだけになります。明らかにEFはこれを理解するのに十分賢いですが、関係を壊したい(削除したい)場合は問題になります。

私の特定のシナリオで削除を発行すると、物理テーブル自体からではなく、ルックアップ テーブルから削除する必要があります。「正しい」答えはデータモデルを作り直すことですが、それは現時点でできることではありません。EF にこのルックアップ テーブルを強制的に分離させて、それに対して直接削除を発行できるようにする方法はありますか?それとも、基礎となるテーブルに直接 DELETE ステートメントを発行することに制限されますか?

4

1 に答える 1

2

ルックアップテーブルから削除したいだけの場合は、次のように行われたリレーションを削除したいことを意味します。

template.Targets.Remove(target);

テンプレートはコンテキストにアタッチされている必要があり、ターゲットは関連エンティティである必要があります。データベースからリレーションを削除するだけで、それらのエンティティは削除しません。

于 2012-05-04T08:24:24.437 に答える