本帖最后由 txdyyangming 于 2015-03-12 22:08:23 编辑

解决方案 »

  1.   

    from f in floors
    where BuildingsID.Contains(f.BuildingID)
    select f.ID
      

  2.   

    没有这么简单吧,出错了,错误信息如下:查询包含对不同数据上下文上所定义项的引用。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 查询包含对不同数据上下文上所定义项的引用。
      

  3.   

    1楼基本上是对的。是你自己代码的问题,首先人家给你的是语法写法。不是真正的代码。
    你的报错是floors和BuildingsID从不同的DBContext/ObjectContext来的表达式树。你要确保他们来自同一个DBContext/ObjectContext对象,或者BuildingsID确实是一个int[]。
    如果我没猜错,你的BuildingsID在你实际的代码里是别的查询结果,且没有ToArray()过。
      

  4.   

    1楼的语法没有错,你的错误2楼也提供可能性的解答
    我以前也遇到过这个错误把一个查询释放了,然后传给另外一个查询
    所以不要随便用using,ef不需要using,他自己会释放的,你不是静态引用的话