我已经为此花了一些时间,似乎已经开始变得不可能了。
我想Concat()
两个IQueryable
,然后将结果作为单个查询执行。我尝试过这样的事情:
var query = from x in ...
select new
{
A = ...
B = ...
C = ...
};
var query2 = from y in ...
select new
{
A = ...
B = ...
C = ...
};
var query3 = query.Concat(query2);
但是,最后一行给我以下错误:
似乎期望该参数使用
IEnumerable
。有没有办法解决?看来我可以将两个查询都解析为
IEnumerable
,然后再对其进行Concat()
。但是创建单个查询会更有效,并且似乎应该可行。 最佳答案
如您先前在评论中所说,这两个查询似乎返回了不同的对象:
查询1(根据评论):
f__AnonymousTypee<Leo.Domain.FileItem,Leo.Domain.Employee,int,string,string>
Query2是
f__AnonymousTypee<Leo.Domain.FileItem,Leo.Domain.Employee,int?,string,string>
这就是
Concat
给您一条错误消息,提示无效参数的原因。关于c# - Concat两个具有匿名类型的IQueryable?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24501266/