【发布时间】:2014-05-13 16:23:58
【问题描述】:
我尝试过This answer、This one 和this one 来合并两个 iqueryable。但我总是收到以下错误:
“Estudio”类型出现在单个 LINQ to Entities 查询中的两个结构不兼容的初始化中。一个类型可以在同一个查询的两个地方初始化,但前提是在两个地方都设置了相同的属性,并且这些属性的设置顺序相同。
我使用以下代码从两个不同但相似的实体框架实体(EXAMEN 和 EXPLORACION)映射到我的域实体 Estudio。
IQueryable<Estudio> listExamen = context.Set<EXAMEN>().Project().To<Estudio>();
IQueryable<Estudio> listExploracion = context.Set<EXPLORACION>().Project().To<Estudio>();
var listCombined = listExamen.Concat(listExploracion);
是否有通过合并两个列表来生成 IQueryable(不可枚举)?如果使用 AsEnumerable(),则在内存上执行以下过滤器(Order、Take 等)。所以我需要合并列表,但仍然能够在不执行查询的情况下将过滤器应用于合并列表。
//This will force the next condition is executed on memory
var listCombined = listExamen.AsEnumerable().Concat(listExploracion);
这可能吗?
【问题讨论】:
标签: c# linq entity-framework merge iqueryable