寻找将数据迁移到实体框架代码的建议代码第一次生成的数据库

寻找将数据迁移到实体框架代码的建议代码第一次生成的数据库

问题描述:

我想弄清楚如何将数据从SQL服务器数据库迁移到首先使用代码生成的实体框架数据库。寻找将数据迁移到实体框架代码的建议代码第一次生成的数据库

源数据库与模式完全不匹配,因此我有一些将执行迁移的代码。我试图弄清楚的是移动数据并保存ID的最佳方式。 我有适用于我的模型的零属性。我只是使用主键属性的modelnameID约定。

我应该关闭身份生成,迁移数据,然后再打开它吗?下一个值会发生什么? 我应该永久关闭身份并自己管理身份证吗? 还有其他建议吗?

编辑:我为我的数据库使用SQL CE 4。

下面是一些代码来做到这一点。你将无法使用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(); 

关闭身份生成。

传输数据。

重新生成身份生成。

使用补种设置下一个id的值,请参阅:http://msdn.microsoft.com/en-us/library/ms176057.aspx

+0

我也使用SQL CE 4,该命令是否也适用于SQLCE4? – ajma 2011-02-14 21:50:04