私はいくつかのテーブルを持っていますが、それらのテーブルは一意のキー制約に基づいています。EFジョインとMVCカミソリビュー
簡単な例は次のとおりです。
VERSIONID、VersionName
SurveyId、SurveyName、VERSIONID
QuestionId、QuestionName、SurveyId、VERSIONID
EFは現在、ユニークキー制約に基づいて関係をサポートしていません。質問のインデックスビューでは、モデルに関する調査名付き質問のグリッドを表示するために、調査に参加するための最良の方法は何ですか?
匿名タイプが必要ですか? db.Questions.Include( "Surveys")は何もしないようです。私はlinqを使用して、結合テーブルのViewModelを作ることができましたが(私はこれが行く方法と思われます)、EF & MVCには非常に多くのことがあります。
「なぜバージョンが問題なの?」という簡単な答えは、質問にリンクされたバージョンに依存する他のテーブルがあることです。回答が問題の適切なバージョンであることを確実にするために、質問テーブル自体にバージョンが必要です。 –
"Include"を使用すると、結果のエンティティに追加のプロパティはありません。エンティティフレームワークがユニークなキー制約を認識していないため、外部キーをスキップ/無視します。 –
私は、データベース自体に参照制約を確実にする複合キーを持っています。あなたの質問は私に、関連するデータだけのEF関連付けをさせました。そしてそれはチャンピオンのように働いた!そして、私はスキーマをリフレッシュしなければならなかった。私は思っていた。冗長な関係はデータベースに害を及ぼさないだろう。それで、複合キーとBAMの代わりに単一のキーだけでつながるたくさんの関係を追加した。 EFの良さで感想をありがとう:-) –