0

データベースから生成された RIA サービスと EF5 EF モデルを使用します。

親オブジェクトをクラス A と呼びます。クラス A には ClassB のコレクションがあります。ClassB には ClassC のインスタンスがあります。

したがって、私の見解では、ユーザーがいくつかのデータを入力すると、デフォルトのワークフローはそれらのために ClassB を大量に生成します。ただし、実際に作成するものを選択できるようにしたいと考えています。

そこで、クラス A のコレクションに ClassB を追加する実際のアクションへのデリゲートを使用して、新しい ClassB アイテムを保持するラッパーを作成します。

したがって、デフォルトでクラス A が 2ClassB を持つようになっているが、最初のクラスの選択を解除してから、必要なアクションを実行して変更を保存すると、クラス A のクラス B のコレクションには 1 つの ClassB のみが正しく含まれていることに気付きますが、 context 両方の日記アイテムが保存されます。

私が気付いたのは、ClassC を ClassB に追加すると、ClassB が ClassB の Class Cs コレクションに自動的に追加されるということです。

したがって、コンテキストでsavechangesを呼び出すと、ClassBを1つだけClassAに追加しましたが、ClassCに追加されているため、両方が保存されます

ClassC は本質的にルックアップ テーブルにのみマップされるため、これを編集したり変更を保存したりする必要はなく、CRUD 機能も実装していません。

また、ClassA には ClassB のインクルードを含むメタデータ クラスがあり、ClassB には ClassC をインクルードするためのメタデータがありますが、Class C のメタデータ クラスはありません。

この問題を回避する方法はありますか?

4

1 に答える 1