我們正在進行一個爲期多年的項目,在這個項目中我們正在構建一個新系統和一個新數據庫,以最終取代舊系統和數據庫。當我們改變它們時,用戶正在使用新舊系統。如何隨着時間的推移將數據庫部分遷移到新系統?
我們不斷遇到的問題是,一個系統中的對象依賴於另一個系統中的對象。我們一直在使用意見,但已經遇到了其中一項技術(實體框架)的限制,並且正在考慮其他選項。
我們現在看到的其他選項是複製。我的老闆對這種額外的維修工作不感興趣。那麼,還有什麼其他選項可以使依賴數據進入需要它的數據庫?
更新:
我們正在使用的技術是SQL Server 2008和實體框架。兩個數據庫都在同一個sql服務器實例中,所以不需要連接服務器。
我們面臨的實體框架的限制是我們似乎無法創建基於表的實體和基於視圖的實體之間的關係。就我所知,視圖和表之間的數據庫中不存在任何關係,所以edmx圖不能推斷出它。我似乎無法手動創建關係而不會出錯。它認爲視圖中的所有列都是鍵。
如果我離開它這樣,我得到這樣的視圖中的每個列的錯誤:
Association End key property [...] is not mapped.
如果我嘗試「實體鍵」屬性更改爲false,不屬於該列關鍵我得到這個錯誤:
All the key properties of the EntitySet [...] must be mapped to all the key properties [...] of table viewName.
根據this forum post這聽起來像實體框架的限制。
更新#2
我還要提到的實體框架的主要限制是它僅支持每次一個數據庫。所以我們需要將舊數據顯示在實體框架的新數據庫中才能看到它。我們只需要在新系統中讀取舊系統數據。
這裏涉及哪些技術?舊系統是什麼版本,新系統是什麼版本? – 2009-06-08 22:20:12
請解釋您對當前方法所使用的「限制」。視圖+是我總是使用的,到目前爲止,我已經能夠解決任何問題比備選方案(複製,鏈接服務器等)更容易。 – RBarryYoung 2009-06-09 01:56:20