簡體   English   中英

實體框架連接來自兩個不同實體的表

[英]Entity Framework joining tables from two different entities

我正在處理一個包含超過 15 個數據庫的項目,我總是需要連接來自不同實體的表,所以我最終使用.ToList

我從朋友那里得到了一個建議,做一個數據庫鏈接服務器,然后在同一個數據庫中為所有引用表創建視圖。

但我對他們兩個都不滿意。

除了.ToList和數據庫視圖之外,還有其他解決方案嗎?在這種情況下,最佳做法是什么?

有很多方法可以解決這個問題,每個方法都有自己的缺點。

帶有視圖的鏈接數據庫

檢查Microsoft 文檔上的使用情況

從 SQL Server 外部訪問數據的能力。

在整個企業的異構數據源上發布分布式查詢、更新、命令和事務的能力。

類似地處理不同數據源的能力。

第三點正是你的情況。 如果需要,您還可以鏈接多個數據庫,例如 mysql。

雖然有很多缺點( 檢查這里)。 我會添加我自己的一個並說

使用代碼和自動映射器實現

如果所有表都相似,那么您可以使用 automapper 之類的工具從您的數據中制作簡單的列表

  1. 使用實體框架獲取數據
  2. 使用 automapper 映射到具有通用屬性的 DTO 對象
  3. 使用 Range add 合並您的列表。

重復數據

我們生活在一個 nosql 解決方案與 RDBMS 解決方案一起使用的世界。 可能是您創建了一個公共數據庫(RDBMS 或 nosql 或任何適合您的數據庫),並在那里復制您的數據。

這是額外的工作,但它的使用速度最快。

我可以想到更多,但這就是它的要點。

暫無
暫無

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

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