換款時,我有這樣的事情:實體框架6遷移,從簡單類型複雜類型(表)
class Person
string CarModel
其在數據庫方面被記到MyClass的表「myProperty的」字符串列。
現在我有:
class Person
string CarId
class Car
int Id
string Model
其中EF轉化爲兩個表:MyClass的和MyNewClass,並有Car.CarId - >指向Car.Id.到現在爲止還挺好。
我將手動照顧使用Person.CarModel列中的項目填充Car表。但問題是:我如何遷移我的數據?我想讓Person.CarId指向正確的Car.Id記錄。我想是這樣的:
UPDATE [dbo].[Person]
SET [CarId] = cars.Id
FROM [dbo].[Cars] cars
WHERE cars.Model = [dbo].[Cars].CarModel
我做新列(CarId),從表中的舊列(CarModel)的下降的加入之間。但是,SQL服務器抱怨'CarId列不存在'。我想這與變化是交易有關。
什麼是正確的方法呢?我使用的腳本(即我刪除我的文件夾遷移後,我產生的.sql出來的)
謝謝,我根據我對你的文章的解決方案。我創建了總共3個腳本 - 初始遷移添加了新的表/列,一個遷移sql腳本,它基於舊的填充新列,然後是另一個刪除舊列的遷移sql腳本。 –