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

时间:2010-12-21 19:37:25

标签: entity-framework-4 code-first

尝试连接查询中的多个表时出现错误:

指定的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代码的第一种方法,如果这有任何区别......

1 个答案:

答案 0 :(得分:8)

如果您的Context属性每次都返回一个新实例,就会发生这种情况。