2011-02-14 120 views
1

我想弄清楚如何將數據從SQL服務器數據庫遷移到首先使用代碼生成的實體框架數據庫。尋找將數據遷移到實體框架代碼的建議代碼第一次生成的數據庫

源數據庫與模式完全不匹配,因此我有一些將執行遷移的代碼。我試圖弄清楚的是移動數據並保存ID的最佳方式。 我有適用於我的模型的零屬性。我只是使用主鍵屬性的modelnameID約定。

我應該關閉身份生成,遷移數據,然後再打開它嗎?下一個值會發生什麼? 我應該永久關閉身份並自己管理身份證嗎? 還有其他建議嗎?

編輯:我爲我的數據庫使用SQL CE 4。

回答

2

下面是一些代碼來做到這一點。你將無法使用DBCC,但你可以改變你的列:

var connection = new SqlCeConnection(context.Database.Connection.ConnectionString); 
connection.Open(); 
new SqlCeCommand("SET IDENTITY_INSERT [Songs] ON;", connection).ExecuteNonQuery(); 
SqlCeCommand command = new SqlCeCommand("INSERT INTO table values", connection); 
new SqlCeCommand("SET IDENTITY_INSERT [Songs] OFF;", connection).ExecuteNonQuery(); 

new SqlCeCommand("ALTER TABLE Songs ALTER COLUMN SongID IDENTITY(100,1)", connection).ExecuteNonQuery(); 
相關問題