從不同的數據庫加入多個表

entity-framework entity-framework-core

我正在使用ASP.NET核心應用程序,我正在使用Entity Framework與SQL服務器數據庫進行交互。到目前為止,我正在使用Scaffold-DbContext命令從SQL Server數據庫創建新模型。即使我們想要基於多個表創建DbContext ,我也可以在上面的命令中使用-t標誌。單個SQL數據庫上發生的一切。

Scaffold-DbContext "Server=XXXXXXXXX;Database=XXXXXXXX;User Id=XXXXX;Password:XXXXXX" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -t Table1 Table2

Scaffold-DbContext參數命令,我找不到指定不同數據庫的選項。

在新方案中,我必須連接來自不同SQL數據庫的2個表。有沒有辦法創建由不同數據庫中的2個表組成的模型。兩個表都使用它們之間的一對一關係。

例如,DB1有table1,DB2有table2。有沒有辦法創建一個由這兩個表(table1和table2)組成的DbContext

有沒有其他方法可以實現2個不同數據庫的2個表之間的連接?

一般承認的答案

不,你不能用EntityFramework(既不是6.x也不是Core)來做到這一點。 DbContext是每個數據庫,您只能在同一個DbContext中進行連接。

您可以創建一個視圖並將視圖映射到您需要的模型,但是iirc。視圖映射仍然是EntityFramework Core的路線圖。可以使用EntityFramework 6.x。

編輯:

至少你不能用Linq / Fluent api做到這一點。您可以執行原始查詢 。問題:項目必須與模型完全匹配,模型中不能有任何缺失的字段。對於非實體的Ad-hoc映射是未來版本的EntityFramework Core的路線圖



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow