我有一个查询,如下所示:
ProviderNotes.Where(it=>it.NoteEntityId == 272651).Select(it=>new
{
Id = it.NoteId,
Tags = it.ProviderNoteTags.Select(t => t.RelatedEntityId)
}).Concat(BookingNotes.Where(it=>it.NoteEntityId == 272651).Select(it=>new
{
Id = it.NoteId,
Tags = it.BookingNoteTags.Select(t => t.RelatedEntityId)
}
))
当我试图获得结果时,我正在
不支持嵌套查询。 Operation1 =' UnionAll'操作2 =' MultiStreamNest'
该查询有2个限制: 1)在组合之前,我无法将每个查询作为IEnumerable获取,因为我需要它以IQueryable形式进行进一步的过滤 2)我不能通过单独的查询填充内部集合,因为正在连接的每个查询正在使用不同的表创建在不同的repo中
P.S。我提供的示例我在LinqPad中测试过。真正简化了提供正在发生的事情的想法。
答案 0 :(得分:0)
因为正在连接的每个查询都是在具有不同表的不同仓库中形成的
如果表位于不同的存储库中,那么您希望LINQ能够将其转换为单个查询吗?
这两个存储库遇到的唯一地方是你的LINQ代码。因此,您的LINQ代码必须实现中间结果。别无选择。