0

エンティティ フレームワークを使用する私の wpf アプリでは、エンティティ プロパティをエンティティ クラスの 1 つに追加する必要があります。例: 2 つのテーブルとジャンクション テーブルを使用して、多対多のリレーションを設定します。

顧客: ID、名前、住所。商品:ID、名前

CustomerProduct : CustomerID、ProductID

次のように、自動生成されたエンティティ データ クラス Cutomer、プロパティ colProducts に追加しようとしています。

    public partial class Customer
{
    public Products  colProducts;
    public Products ColProducts
    {
        get { return colProducts; }
        set 
        {
            colProducts = ???? 
        }
    }

}

しかし、私はその関係が見つからない. ここで何が問題なのですか?? 顧客に関連する製品を入手するにはどうすればよいですか。wpfデータバインディングを容易にするためにこれを行っています。

4

2 に答える 2

0

CustomerIDとProductIDがテーブルCustomerProductの複合主キーを形成する場合、EFは適切な多対多の関係を生成する必要があります。

于 2012-06-28T16:14:45.597 に答える
0

まず、データベースにこれらの関連付けが存在する場合、エンティティはこれらの関連付けを作成します (外部キー、または多対多テーブル)。データベースを制御できる場合は、これを行う必要があります。これは、手動のエンティティ メソッドよりも簡単で、データベースを有効に保つのに役立ちます。

できない場合、または作成したくない場合は、エンティティの関連付けを手動で作成できます。ここから取られるこれらのステップ

  1. EF デザイナーで、2 つのエンティティのいずれかを選択し、右クリック メニューで [関連付けの追加] オプションを選択します。
  2. 各辺の多重度を適切に指定し、関連付けを作成します
  3. 関連付けを選択し、「テーブル マッピング」オプションを選択します
  4. 次に、外部キー列を含むテーブル、つまりメッセージを選択します
  5. 列リストでは、参照されたテーブルの主キーが横に表示され、対応する外部キー、つまりこの場合は ConversationId を選択します
  6. 参照エンティティから外部キー プロパティを削除します。つまり、メッセージ エンティティの ConversationId プロパティを削除します。
于 2012-06-28T15:37:25.587 に答える