Поиск рекомендаций по переносу данных в базу данных Entity Framework Code First.

Я пытаюсь понять, как перенести данные из базы данных SQL-сервера в базу данных инфраструктуры сущностей, которая сначала создается с помощью кода.

Исходная база данных не совсем соответствует схеме, поэтому у меня есть код, который выполнит миграцию. Я пытаюсь выяснить, как лучше всего переместить данные и сохранить идентификаторы. К моей модели применены нулевые атрибуты. Я просто использую соглашение modelnameID для свойства первичного ключа.

Должен ли я отключить создание удостоверений, перенести данные, а затем снова включить? Что происходит со следующим значением? Должен ли я навсегда отключить идентификацию и самостоятельно управлять идентификаторами? Любые другие предложения?

Изменить: я использую SQL CE 4 для своей базы данных.


person ajma    schedule 14.02.2011    source источник


Ответы (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();
person Community    schedule 15.02.2011

Отключите генерацию личности.

Передача данных.

Включите генерацию идентификационных данных снова.

Используйте reseed, чтобы установить значение следующего идентификатора, см.: http://msdn.microsoft.com/en-us/library/ms176057.aspx

person Shiraz Bhaiji    schedule 14.02.2011
comment
Я также использую SQL CE 4, работает ли эта команда и для SQLCE4? - person ajma; 15.02.2011