3

OData サービスを作成し、EDM を使用してデータベースの構造をマップし、テーブル間の関連付けを指定して、ナビゲーション プロパティを作成しています。

ウィザードを使用してテーブルを EDM にインポートしました。関連付けを行うまで、問題なくコンパイルできます。私は以前にこれを行うことができたと確信していますが、何らかの理由で失敗しています。

テーブル属性があります

AttributeId     int   PK
AttributeName   varchar(100)

AttributeItem
AttributeItemId       int PK
AttributeID           int
AttrributeItemValue   varchar(100)

2 つのテーブル間で AttributeId を 0..1 から * への関係 (Attribute から AttributeItem へ) でリンクしたいと考えています。

私は常に問題を抱えています。最初にこのエラー:

エラー 3027: 次の EntitySet/AssociationSet にマッピングが指定されていません - AttibuteAttributeItem

次に、関連付けのマッピングの詳細をいじると、次のエラーが発生します。

エラー 3024: 行 91 から始まるフラグメントのマッピングの問題: Relationship AttributeAttributeItem の End AttributeItem のすべてのキー プロパティ (AttributeItemId、AttributeId) のマッピングを指定する必要があります。

なぜこれを行っているのかわかりません。

私が見逃しているものは何か分かりますか?

ありがとう、

B

4

1 に答える 1

1

関連リンクをダブルクリックし、参照制約を設定します。空であってはなりません。その後、「データベースの生成」を使用して、EDM モデルの内部を更新します。また、ソリューション エクスプローラーで edmx ファイルを右クリックし、[Open With...] を選択して XML エディターで開き、エラーの行 (91) を確認することも検討してください。

于 2011-03-24T10:08:00.960 に答える