我有兩個來自兩個不同的數據上下文的表。雖然兩個表都來自同一個數據庫,但存在兩個單獨的數據上下文。如何從不同的數據上下文內連接表?
錯誤消息:
查詢包含到一個不同的數據上下文定義的項目的引用。
我該如何解決這個問題?任何幫助表示讚賞。謝謝。
我有兩個來自兩個不同的數據上下文的表。雖然兩個表都來自同一個數據庫,但存在兩個單獨的數據上下文。如何從不同的數據上下文內連接表?
錯誤消息:
查詢包含到一個不同的數據上下文定義的項目的引用。
我該如何解決這個問題?任何幫助表示讚賞。謝謝。
哦,Stackoverflow你怎麼提供!
爲什麼不在每種情況下都包含必要的表格?
我得到「該成員被多次定義」錯誤。 – jinsungy 2009-10-08 13:48:14
然後你可能會做其他的事情。 – 2009-10-08 14:08:24
當您有多個模型時,EF不考慮名稱空間。在多個模型中不能有相同名稱的表。不要相信我?嘗試一下 ! – 2017-07-11 11:39:05
你不知道。數據上下文可能有不一致的數據庫視圖。
如果你的代碼不會沿着線的東西:
from a in dc1.TableA
join b in dc2.TableB on a.id equals b.id
select new { a, b }
...只是將其更改爲:
from a in dc1.TableA
join b in dc1.GetTable<TableB>() on a.id equals b.id
select new { a, b }
的L2S的datacontext使用的類的屬性,因此,如果您使用GetTable在另一個數據上下文而不是表格附加到它上面的表格將從類def中選取表格,列等屬性,並將其用作查詢中使用的DC的一部分...
另一種解決方案是改變結果列表()。
var query = (from a in dc1.TableA
join b in dc2.TableB on a.id equals b.id
select new { a, b }).ToList()
從商業的角度看,有兩個datacontexts有什麼意義?通常我會建議每個數據庫總是隻有1個datacontext,並與之協同工作... – Robban 2009-10-08 13:43:43
這可能沒有意義,但這是我正在與之合作。 – jinsungy 2009-10-08 14:08:34
其中一個上下文用於讀取,另一個用於寫入的好習慣 – skyfoot 2012-03-21 13:42:22