В моем приложении я использую EF6 для сопоставления с существующей базой данных, где у меня нет контроля над схемой.
Когда первый вызов Db сделан, я получаю исключение, когда создание таблицы не разрешено, что не допускается, и инициализация базы данных должна быть отключена.
System.Data.SqlClient.SqlException (0x80131904): CREATE TABLE permission denied in database 'ADatabase'.
Я использовал различные способы отключения инициализации, используя как код, так и конфигурацию, но ни один из них, похоже, не работает.
https://msdn.microsoft.com/en-us/data/jj680699
https://msdn.microsoft.com/en-us/data/jj556606
Я пытался реализовать DbConfiguration
для автоматического обнаружения, явно вызывая его в моем Application_Start
, а также Database.SetInitializer<MyContext>(null);
в ctor для контекста.
Конфигурация была настроена согласно Инициализаторам базы данных в статье MSDN, указанной выше (пример ниже)
<contexts>
<context type=" Blogging.BlogContext, MyAssembly" disableDatabaseInitialization="true" />
</contexts>
Использование EF 6.1.3, .NET 4.6 и SQL Server 2008