簡體   English   中英

使用實體框架移動和比較來自不同數據庫的數據

[英]Moving and comparing data from different database using entity framework

我需要每天將一些數據從一台服務器上的Sql Server數據庫移動到另一台服務器上的另一台Sql Server數據庫中。 我對原始服務器具有完全的讀取訪問權限。 從目的數據庫中提取數據來處理會計系統的某些轉換。 我必須轉換數據並將存儲過程用於目標數據庫。 將我的數據加載到目標數據庫后,將觸發轉換並更改/移動我的數據。

我們只希望將數據更改發送到目標數據庫,因此我們打算在發送任何內容之前使用臨時數據庫對其進行比較(在其他sql服務器上)。

我們當時正在考慮使用Entity Framework進行讀取和緩存,但是我擔心這會涉及到我們創建兩個不同的模型並在保存之前對它們進行比較。 這將是一件痛苦的事情,但是它將使我們能夠將數據作為對象進行轉換/修改,並將大大簡化我們的業務邏輯。

是否建議對此部分使用單獨的過程或繼續使用兩個不同的數據模型?

為了簡化:

  1. 在數據庫之間加載/比較數據
  2. 用新數據更新臨時數據庫
  3. 設置標志
  4. 使用實體框架將設置為true的標志加載到臨時數據庫中的所有對象
  5. 根據業務邏輯轉換/修改臨時對象
  6. 使用存儲過程發送到目的地

要么

  1. 使用實體框架從原始數據庫加載數據
  2. 使用實體框架從臨時數據庫加載數據
  3. 相比
  4. 使用新數據更新臨時對象
  5. 根據業務邏輯轉換/修改臨時對象
  6. 使用存儲過程發送到目的地

如果選擇第一個選項,是否值得我再花時間使用實體框架? 我是否在考慮這個問題,並且完全有更好的辦法解決這個問題?

1:創建2個數據庫上下文模型。 假設datacontext1和datacontext2。

2:創建一個dto(數據傳輸對象),它與從datacontext1傳輸到datacontext2的表非常相似。

3:使用自動映射器將datacontext1的屬性映射到所創建的dto,以及將datacontext2映射到dto。

4:運行具有“ public dto readdata(table1)”和“ public void savedata(dto)”功能的使用服務層

5:從dbcontext1讀取數據並將其保存到dbcontext2

這樣,如果database1或database2中發生任何更改,則很容易處理更改。

暫無
暫無

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

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