簡體   English   中英

LINQ 表達式包含對與不同上下文關聯的查詢的引用

[英]LINQ expression that contains references to queries that are associated with different contexts

我有這個查詢:

var list = (from t1 in context1.SomeTable
            join t2 in context2.SomeTable on t1.ID equals t2.ID
            where //some where clause
            select new { t1.SomeField, t2.SomeField }).ToList());

當此查詢嘗試執行時,我將收到此錯誤:

指定的 LINQ 表達式包含對與不同上下文關聯的查詢的引用。

  1. 為什么LINQ to Entities
  2. LINQ to Entities
  3. 有什么辦法可以解決這個問題?

我想這是因為您正在構建的語句在幕后轉換為 SQL 並在數據庫上運行。 因為不同的上下文可能來自不同的數據庫甚至不同的服務器,所以不能保證在查詢服務器時 context2 中的數據對 context1 可用。

您可以從每個上下文返回數據並轉換為 IEnumerable,然后執行標准的 linq 查詢,但是您有明顯的數據傳輸和內存處理開銷,否則數據庫引擎會執行這些開銷。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM