我有一个需要过滤 2 个级别的 lambda 表达式。我有一个名为“面板”的父级,一个面板可以包含许多“文档”,我需要返回所有面板及其相关文档,这些文档具有某种文档类型的文档......作为下拉列表值传入。
这就是我所拥有的:(出于显示目的,我对其进行了一些修改)
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 语句中执行此类查询吗?