'The query contains references to items defined on a different data context' altough dbcontext 是相


public IQueryable<SMMSALESUNIT> GetPersonalSalesUnitQuery()
{
    var q = from r in dax.SMMSALESUNITs
        where r.DATAAREAID == COMPANYID
        && r.ACTIVE == 1
        select r;
}
public IQueryable<SMMSALESUNITMEMBER> GetPersonalSalesUnitMemberQuery()
{
    IQueryable<SMMSALESUNIT> salesUnit = new SMMSALESUNIT().GetPersonalSalesUnitQuery();
    var q = from r in dax.SMMSALESUNITMEMBERs
            join s in salesUnit on r.SALESUNITID equals s.SALESUNITID
            select r;
    return q;
}

q.ToList()上出现以下错误:"查询包含对在不同数据上下文中定义的项的引用"

问题(很可能)在这里:

IQueryable<SMMSALESUNIT> salesUnit = new SMMSALESUNIT().GetPersonalSalesUnitQuery();
GetPersonalSalesUnitQuery中使用的dax似乎是SMMSALESUNIT类的实例成员。这里你创建了新的SMALLSALESUNITdax的新实例。然后按
var q = from r in dax.SMMSALESUNITMEMBERs
        join s in salesUnit on r.SALESUNITID equals s.SALESUNITID
        select r;

这是另一个dax,而不是上面创建的SMALLSALESUNIT的实例成员。因此,您尝试连接来自两个不同上下文的查询,但失败了。

相关内容

最新更新