2010-12-27 13 views
0

Entity Frameworksデザイナーで単純な一対多リレーションシップを設定しようとしました。EFデザイナーで単純な1対多のリレーション(アソシエーション)が失敗する

表はカテゴリー(1)およびトランザクション(N)です。は、ここに私がやったことだ:建物

Add "association" 

End1 = Category, multiplicity 1, navigation property=Transaction 
End2 = Transaction, multiplicity Many, navigation property = Category 

それは「指定のマッピング」私にエラーを与えませんでした。わかりました。だから私は、このマッピングを追加しました:自動的にも

Category 
    Category.CategoryID = Transaction.CategoryID 

しかし、マッピングの設計者は、私がセットアップにどのように削除するか、または方法を見つけ出すことはできませんトランザクションテーブル、のマッピングを追加します。

Transaction 
    Transaction.TransactionID = ??? 

は空を残しますエラー3024 "すべてのキープロパティ(TransactionID)のマッピングを指定する必要があります"

それを偽のintプロパティに設定しようとすると、それはコンパイラのバグだと思っています。しかし、それは私にエラー3002と3003を与えます。

私は何をすべきか分かりません。 Isnt団体はこの方法で使われることを意図していましたか?

答えて

0

CatagoryのエンティティとTransactionのエンティティを作成する(またはデータベースからインポートする)ことをお勧めします。必要に応じてそれぞれにスカラープロパティを追加します。次に、エンティティを右クリックし、「表マッピング」をクリックして、エンティティのプロパティを表のフィールドにマップします。たとえば、Categoryエンティティの場合、CategoryIDフィールドをCategoryIDプロパティにマップします。他のエンティティに対しても同じ操作を行います。その後、関連付けを作成します。

エクスポーズされた外部キーによってリンクされた関連付けにはマッピングがないことに注意してください。また、ナビゲーションプロパティも追加することをお勧めします。

関連する問題