尝试连接查询中的多个表时出现错误:
指定的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;
}
有什么想法吗?我正在使用EF4 CTP5代码的第一种方法,如果这有任何区别......
答案 0 :(得分:8)
如果您的Context属性每次都返回一个新实例,就会发生这种情况。