![](/img/trans.png)
[英]EF Core: filter condition for nested collection (Func<>) as a variable
[英]How to select a collection based on condition in EF Core?
我有一个 object 有两个列表,我需要 select 根据条件其中一个,如下所示:
.Set<Person>()
.Select(x =>
Employees = x.IsManager ? x.WorkerList1 : x.WorkerList2
WorkerList1 和 WorkerList2 都是同类型的 collections。
我尝试合并/连接列表,它会引发错误(无法翻译)。
我试过 select 一个中间查询视图 object,像这样:
.Set<Person>()
.Select(x =>
Employees = x.IsManager
? x.WorkerList1.Select(x => new EmployeeView { //..assign properties here })
: x.WorkerList2.Select(x => new EmployeeView { //..assign properties here })
它也无法翻译。 有什么办法可以做到这一点?
我正在使用 MSSQL 提供程序。
您是否考虑过拆分查询?
var queryForManagers = queryable.Where(x => x.IsManager);
var queryForNotManagers = queryable.Where(x => !x.IsManager);
// now you can map and concat items independently...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.