我正在創建一個應用程序,以將數據從一個數據庫傳輸到另一個數據庫,以適應新的應用程序,而且我遇到了一個問題,即訪問舊數據庫中的一些數據。舊數據庫是使用Ruby on Rails創建的,它們是通過Rails設計和創建的,SQL Server中的數據庫沒有主鍵,所有列都可以爲空。新數據庫是在SQL Server中設計和構建的,具有適當的鍵和可空列。由於這兩個數據庫都在SQL Server中,因此我希望使用實體框架數據庫優先進行數據轉換。無法訪問沒有主鍵的實體框架表
在EF Desginer中,我能夠將實體鍵分配給除一個(響應)之外的所有表,這使我無法正確訪問表中的數據。表定義如下:
assess_id [int] NULL
person_id [int] NULL
question_id [int] NULL
question_version [int] NULL
answer_id [int] NULL
answer_version [int] NULL
text [nvarchar(4000)] NULL
created_at [datetime] NOT NULL
updated_at [datetime] NOT NULL
由於允許的記錄的主鍵應包括
assess_id
person_id
question_id
question_version
answer_id
answer_version
但可以存在多個answer_id和answer_version記錄到相同的question_id和question_version或answer_id和answer_version都是空的,所以我不能使用它。該密鑰的任何子集都不允許我正確檢索所有數據。另外,我不能使用created_at或updated_at列,因爲有多個正在使用相同時間戳寫入的行的實例。
我只需要讀取數據而不是寫入數據,因爲它正在轉換到新的數據庫中,並且我無法更改現有的數據庫。有沒有解決關鍵問題的方法?
我沒有能力對現有數據庫進行任何修改,我正在嘗試讀取。 –
@Evan請參閱editted答案。 –