请教一个LINQ动态查询 本帖最后由 txdyyangming 于 2015-03-12 22:08:23 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 from f in floorswhere BuildingsID.Contains(f.BuildingID)select f.ID 没有这么简单吧,出错了,错误信息如下:查询包含对不同数据上下文上所定义项的引用。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 查询包含对不同数据上下文上所定义项的引用。 1楼基本上是对的。是你自己代码的问题,首先人家给你的是语法写法。不是真正的代码。你的报错是floors和BuildingsID从不同的DBContext/ObjectContext来的表达式树。你要确保他们来自同一个DBContext/ObjectContext对象,或者BuildingsID确实是一个int[]。如果我没猜错,你的BuildingsID在你实际的代码里是别的查询结果,且没有ToArray()过。 1楼的语法没有错,你的错误2楼也提供可能性的解答我以前也遇到过这个错误把一个查询释放了,然后传给另外一个查询所以不要随便用using,ef不需要using,他自己会释放的,你不是静态引用的话 判断gridview中的textbox的值是否为空 新闻内容如下下载 小生不才 如何用BUTTON控制FILEUPLOAD实现文件上传? 回调方法 出错 _pendingCallbacks[...].async为空或不是对象 关于三层架构中逻辑层的困惑? textbox如何实时刷新? 图片循环滚动 如何配置iis使其能够解释asp.net 如何从数据库一个表中区部分纪录填充DataSet 这种情况怎么解决? Asp.netMvc4 为什么我在 Action 上面加了个HttpPost,该方法里面返回的是View,为什么访问的时候404错误 mvc4数据表格用什么控件
where BuildingsID.Contains(f.BuildingID)
select f.ID
你的报错是floors和BuildingsID从不同的DBContext/ObjectContext来的表达式树。你要确保他们来自同一个DBContext/ObjectContext对象,或者BuildingsID确实是一个int[]。
如果我没猜错,你的BuildingsID在你实际的代码里是别的查询结果,且没有ToArray()过。
我以前也遇到过这个错误把一个查询释放了,然后传给另外一个查询
所以不要随便用using,ef不需要using,他自己会释放的,你不是静态引用的话