指定的 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;
}
有什么想法吗?我正在使用 EF4 CTP5 代码优先方法,如果这有什么区别的话......
I'm getting an error when trying to join against multiple tables in a query:
The specified LINQ expression contains references to queries that are associated with different contexts
It's confusing because it makes it seem like I'm using different contexts within the query but I'm not:
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;
}
Any ideas? I'm using the EF4 CTP5 code first approach, if that makes any difference...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您的 Context 属性每次都返回一个新实例,则可能会发生这种情况。
This can happen if your Context property returns a new instance every time.