.net - 过滤 LoadWith 结果

标签 .net linq

有没有办法在 Linq 中过滤 LoadWith

我目前有 ReportCategory 和 Reports 表。我想检索所有类别,然后只想加载事件报告。

这是我到目前为止。

DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<ReportCategory>(report => report.Reports);
db.LoadOptions = dlo;

var categories = from c in db.ReportCategory
                where c.InUse == true
                select c;

它按预期返回所有事件类别和每个类别的所有报告,但我不需要所有报告,我只需要标记为 InUse 的报告。

所以我试过这个...
dlo.LoadWith<ReportCategory>(report => report.Reports.Where(r => r.InUse == true));

但我收到以下错误。

InvalidOperationException:指定的表达式必须采用 p.A 形式,其中 p 是参数,A 是属性或字段成员。

有没有办法用 LoadWith 做到这一点,还是我应该改用连接?

最佳答案

找到了...

DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<ReportCategory>(report => report.Reports);
dlo.AssociateWith<ReportCategory>(r => r.Reports.Where(i => i.InUse == true));
db.LoadOptions = dlo;

这将带回所有类别和事件报告

关于.net - 过滤 LoadWith 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5075939/

相关文章:

.net - 有没有办法以编程方式将 ApartmentState 设置为 STA?

c# - 如何使用正则表达式从字符串中获取 ID

c# - LINQ to SQL GroupBy Max() lambda

c# - 方法重载解析如何工作(LINQ Where 扩展方法)?

c# - CLR在哪里分配本地内存池?

c# - 在Visual Studio中运行.net应用程序时,我们可以直接登录Cloudwatch吗

c# - LINQ 过滤对象列表

c# - 转换日期时间?串入 dd-MM-yyyy

c# - 处理导致空序列等的 LINQ 语句的最佳实践?

c# - 从 json 文件制作动态字典