相关疑难解决方法(0)

指定的LINQ表达式包含对与不同上下文关联的查询的引用

我在尝试连接查询中的多个表时遇到错误:

指定的LINQ表达式包含对与不同上下文关联的查询的引用

它令人困惑,因为它使我看起来在查询中使用不同的上下文但我不是:

public static IQueryable<Company> GetAll(bool supportsMMAT)
            {
                return from c in Context.Companies
                            join v in Context.Vehicles on c.CompanyIdNumber equals v.CompanyIdNumber
                            join mt in Context.ModemTypes on v.ModemTypeId equals mt.Id
                            where !c.CompanyShutOff
                                && (!supportsMMAT || mt.Model == "MMAT")
                            select c;
            }
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我正在使用EF4 CTP5代码第一种方法,如果这有任何区别......

code-first entity-framework-4

4
推荐指数
1
解决办法
3862
查看次数

需要通过 Union() 中的匿名类型显式转换

我有 2 个 var/objects,通过这两个函数检索:

private IQueryable<Project> SelectAll_1(...)
{
    return query;
}
Run Code Online (Sandbox Code Playgroud)

类项目是:

private int ID;
private string col1;
private string col2;
private string col3;
Run Code Online (Sandbox Code Playgroud)

另一个:

private IQueryable<Project_test> SelectAll_2(...)
{
    return query;
}
Run Code Online (Sandbox Code Playgroud)

其中 POCO 是:

private string ID_inString;
private string col1;
private string col2;
private string col3;
Run Code Online (Sandbox Code Playgroud)

我需要对他们两个进行联合,

var P2 = SelectAll_2(...);
var P1 = SelectAll_1(...);

var P3 = P2.Union(P1);
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误,提到:

无法从用法推断方法“System.Linq.Queryable.Union(System.Linq.IQueryable, System.Linq.Expressions.Expression>)”的类型参数。尝试明确指定类型参数。

我看到有些人通过匿名类型解决它,但我不确定它是如何工作的。任何人有任何想法?

.net c# linq

4
推荐指数
1
解决办法
2672
查看次数

标签 统计

.net ×1

c# ×1

code-first ×1

entity-framework-4 ×1

linq ×1