2レベルの深さをフィルタリングする必要があるラムダ式があります。「Panel」という親がいます。Panelには多くの「Documents」を含めることができ、特定のドキュメントタイプのドキュメントを含むすべてのPanelとそれに関連するドキュメントを返す必要があります...ドロップダウンリスト値として渡されます。
これは私が持っているものです:(表示のために少し変更しました)
using (MyEntities ctx = new MyEntities())
{
var query = ctx.Panels.Where(p => p.blah blah blah).ToList();
if (DDL.SelectedValue!= string.Empty)
{
query = query.Where(p => p.Documents.Any(d => d.DocumentTypeID == DDL.SelectedValue.ToInt32Extension())).ToList();
}
rptPanelReviews.DataSource = query
rptPanelReviews.DataBind();
}
...ご覧のとおり、私は.Any()
Documentsオブジェクトのメソッドを使用していますが、それは無関係な情報を返します。このAll()
メソッドは何も返しません。特定のドキュメントタイプを持つすべてのパネルとドキュメントを返す他のメソッドが見つかりません。
誰かがこれについて行く方法を知っていますか?それも可能ですか?Whereステートメント内でこのタイプのクエリを実行できますか?