Сначала, используя код EF, у нас есть структура заполнения базы данных, которая использует инициализаторы зависимостей и инициализаторы базы данных для заполнения базы данных примера тестовыми данными.
Некоторые из этих операций заполнения должны импортировать много данных, поэтому для пары таблиц мы используем реальные файлы SQL с инструкциями INSERT.Для некоторых из этих операторов вставки внешние ключи необходимо набрать, а затем снова включить:
ALTER TABLE [Schema].[TableName] NOCHECK CONSTRAINT [TableName_FkPropertyName]
-- perform a block of inserts
ALTER TABLE [Schema].[TableName] CHECK CONSTRAINT [TableName_FkPropertyName]
Я только что обновил EF 4.2 до EF 4.3 и заметил, что они больше не работают.Изучение БД, созданного EF, показывает, что FK теперь называются по-разному:
FK_CodeFolder1.Table1Name_CodeFolder2.Table2Name_DbFkColumnName
Есть ли способ удалить это соглашение об именах и вернуться к оригиналу?Если нет, то как это не известная проблема или критическое изменение ?
Обновление после ответа Ладислава
Ладислав прав, мое объяснение вышеновый шаблон именования был не совсем правильным.Я обновил это.Часть, предшествующая.не было полного пространства имен, но это было имя папки в проекте модели объекта.Таким образом, если бы у меня был объект WidgetAbc в папке AggregateSet1, фрагмент шаблона fk был бы AggregateSet1.WidgetAbc
, а не просто WidgetAbc
.