EF создает базу данных с добавлением guid к ее имени - PullRequest
3 голосов
/ 11 марта 2020

Я хочу создать новую базу данных, используя EF6. Это моя строка подключения. Я использую код вначале.

<connectionStrings>
    <add name="local" 
         providerName="System.Data.SqlClient" 
         connectionString="Data Source=(localdb)\MSSQLLocalDB;AttachDbFileName=|DataDirectory|\SampleDbName.mdf;Integrated Security=True;MultipleActiveResultSets=True" />
</connectionStrings>

После запуска моего приложения asp. net EF полностью создает базу данных, но ее имя меняется на SAMPLEDBNAME_349a392a7d84452287b4948d4f2ab5cf (возможно, это guid).

Что мне нужно сделать, чтобы создать базу данных с именем, указанным в строке подключения?

1 Ответ

4 голосов
/ 11 марта 2020

Добавьте это в строку подключения:

Database = DatabaseName

или InitialCatalog = DatabaseName

примерно так (при регистрации с внедрением зависимости):

string connection = @"Server=server_address;Database=databaseName;PersistSecurityInfo=False;User=username;Password=pa$$;MultipleActiveResultSets=False;"; 
services.AddDbContext<DbContextName>(options => options.UseSqlServer(connection));

Или в вашем случае

connectionString="Data Source=(localdb)\MSSQLLocalDB;AttachDbFileName=|DataDirectory|\SampleDbName.mdf;Integrated Security=True;Database=DatabaseName;MultipleActiveResultSets=True" />

или если Database = DatabaseName не будет работать, попробуйте InitialCatalog = DatabaseName

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...