EF-6 mvc5 プロジェクトに取り組みます。階層クラスごとのテーブルの問題に直面します。私のクラス構造は次のとおりです。
上の図は、詳細なクラス関係を示しています。
家、部屋、およびそこに関連するデバイスをデバイスタイプで選択できる選択クエリを作成したいので、次のクエリを作成しますが、機能しません。
var temp=_myHomeRepository.Queryable().Homes
.include(x=>x.home.room)//work ok
.include(x=>x.home.room.select(y=>y.devices))//work ok
.include(x=>x.home.room.select(y=>y.devices.OfType<D-Type-A>().select(z=>z.D-Type-A))).ToList();//generate error
上記のクエリでは、「インクルード パス式は、型で定義されたナビゲーション プロパティを参照する必要があります。参照ナビゲーション プロパティには点線パスを使用し、コレクション ナビゲーション プロパティには Select 演算子を使用してください。パラメータ名: パス」というエラーメッセージが表示されます。その中のナビゲーション プロパティを作成する方法。
このシナリオでは、select クエリの書き方を説明します。