[小菜一碟] Entity Framework Core 如何在單一查詢中跨資料庫查詢資料?

如果資料庫都隸屬於同一台伺服器,資料庫之間要 JOIN 彼此的資料表是相對容易的,在有權限的前提下,只要在資料表的前面加上「[資料庫名稱].[結構描述]」,就能存取得到其他資料庫的資料表,就像這樣:[DB].[dbo].[Table]

但是在 Entity Framework Core 中,似乎沒有那麼容易,通常一個資料庫會建成一個 DbContext,當我們直接把隸屬於不同 DbContext 的 DbSet 拿來做 Join,我們得到以下的錯誤訊息:

Cannot use multiple context instances within a single query execution. Ensure the query uses a single context instance.

...繼續閱讀 »

[料理佳餚] 在 Entity Framework 使用 Expression 黑魔法做動態條件查詢

使用 Entity Framework 大都會搭配 Lambda Expression 到資料庫去 Query 資料出來,但是通常我們只能在程式碼中先寫好查詢的條件,當遇到不同條件的時候就要再寫一組查詢的條件,那我們能不能寫一個查詢條件的產生器,可以依照我丟進去的條件參數,幫我產生不同組合的查詢條件?

...繼續閱讀 »

[料理佳餚] 使用 Entity Framework Code First 應該要知道的 TPH、TPT、TPC

[料理佳餚] Entity Framework Code First 不算太難用這篇有講到要使用 Code First 不難,難的地方是不要讓 Entity Framework 拿我們設計出來的 Model 去建出低效的資料表。

要避免 Entity Framework Code First 建出低效資料表,了解 TPH、TPT、TPC 這三種資料表被建立的方式是必須要做的功課之一。

...繼續閱讀 »