Я создал базу данных в Azure, настроив свое собственное имя. Затем я создал первые EF 5-коды и добавил миграции. При запуске приложения я назвал эти две строки:EF 5 + Azure + MigrationFirst переопределяет имя базы данных. Зачем?
Database.DefaultConnectionFactory = new SqlConnectionFactory(connectionString);
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyDataContext, MyConfiguration>());
Строка соединения берется прямо из Azure: Server = ТСР: xxx.database.windows.net, 1433; Database = DbName; ID пользователя = YYY; Password = zzz; Trusted_Connection = False; Шифрование = Истина; Время ожидания подключения = 30;
В кулачном вызове я ожидал, что база данных dbName будет заполнена таблицами в соответствии с схемой POCO. Но вместо того, чтобы новая база данных создаются с полным именем пространства имен моего контекста: MyService.Business.Entity.MyContext
Почему миграция не принимает имя базы данных, указанное в строке подключения?
если вы дон 't передать строку подключения, как показано Крисом ниже EF, попробует использовать строку подключения из файла конфигурации, имя которой совпадает с именем контекста. Если он не найден, он создаст свою собственную строку соединения, в которой будет создано имя базы данных на основе имени контекста. – Pawel
Спасибо за объяснение! –