我在联合之后有来自相同数据库的2个变量:
var projectedP1 = P1.Select(x => new Project_test {
ID_inString = x.ID.ToString(),
col1 = x.col1,
col2 = x.col2,
col3 = x.col3 });
var union = projectedP1.Union(P2);
当P1单独或P2单独使用时,一切都很好 但是当2是联合时,我会在运行时得到它:
查询包含对在不同数据上下文中定义的项的引用。
我试过这个类似的帖子,但是不明白。有人知道吗?
答案 0 :(得分:10)
您永远不能从两个不同的上下文中加入对象;因为union被编译成数据库查询,所以它不知道如何执行它,因为不支持多个DB。您可以做的最好的事情是分别在每个查询上调用ToList(),这将执行数据库查询,并执行LINQ到对象的并集。这完全是一个迭代过程。