如果模型打到相同的底層數據庫,是否有方法可以組合來自2個不同實體模型的查詢?我有一個使用EF進行數據訪問的框架(EDM 1) 我有一個客戶端應用程序,它使用框架的服務並且還使用EF作爲自己的數據訪問。 EDM2)跨實體數據模型撰寫查詢
有些情況下,我需要編寫查詢並加入跨2個EDM的實體。
有沒有辦法做到這一點,而不從第一個EDM獲取內存中的數據,然後在第二個EDM的實體內存中應用額外的謂詞/連接?
我希望我這闡明正確的方式
編輯 @Ladislav Mrnka: 第EDM是一個可重用的框架數據訪問層。 把EF生成的實體與這個EDM相結合是沒有意義的 那些消費客戶端 它擊敗了API的可重用性,如果我這樣做,我不得不隨身攜帶附加的膨脹 (EF元數據和數據庫每次我想重新部署框架時,客戶端的表)。此外,這也會使設計師在管理模型時變得笨拙。
我目前使用的是什麼你提到序號項目7作爲solutuon和表現糟糕的 由於這樣的事實,我要結束返回比使用 EDM1然後框架需要更多的數據(即實體)基於來自第二EDM中實體的 屬性的值,根據謂詞/條件過濾掉不需要的謂詞/條件。最終結果是巨大的性能下降和不愉快的DBA。
出於這個原因我最終推動檢索實體 在其中我可以訪問兩個電火花使用的表和申請所需 謂詞和對整個查詢運行在一個數據庫中的存儲過程所需的邏輯,而不是以使內存 的數據,然後過濾掉不必要的ones.Downside的是,我不能使用LINQ
項目你提到聽起來很有趣,但是從8這聽起來像我懷疑 你在設計強類型時間,還是你? 你可以上傳你的代碼樣本嗎?我可以試試嗎?
難道你不能在後端執行此操作,或者sql數據庫目錄是否可以通過鏈接服務器或同等服務器查看對方? – CarneyCode 2011-02-13 10:07:00
@ Carnotaurus:這就是我目前正在做的事情。兩個EDM的表格都在同一個數據庫中,因此我使用Sproc來查詢框架表格(EDM1)和客戶端表格(EDM2)。缺點是我不能使用LINQ – 2011-02-13 23:28:57