我有一个包含两个列表的对象,我需要根据条件选择其中一个,如下所示:
.Set<Person>()
.Select(x =>
Employees = x.IsManager ? x.WorkerList1 : x.WorkerList2
WorkerList1 和 WorkerList2 都是相同类型的集合。
我尝试合并/连接列表,但它引发错误(无法翻译)。
我尝试选择一个中间查询视图对象,如下所示:
.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 提供程序。
答案 0 :(得分:1)
您是否考虑过拆分查询?
var queryForManagers = querable.Where(x => x.IsManager);
var queryForNotManagers = querable.Where(x => !x.IsManager);
// now you can map and concat items independently...