Как создать динамическую базу данных в рамках сущности с указанным путем?

В настоящее время я создаю динамическую базу данных, используя метод CreateDatabase() в Entity Framework. он успешно выполняется и создает базу данных по следующему пути:"c: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA", но я хочу создать базу данных в каталоге моего приложения. как это сделать? Помогите мне, пожалуйста.

1 ответ

Решение

Обычно все базы данных создаются по пути по умолчанию, настроенному в SQL Server. Только если вы используете SQL Server Express и определяете строку подключения, которая указывает базу данных, которая будет создана в вашей папке данных, она будет использовать вашу папку приложения. Это будет работать только с SQL Server Express. Убедитесь, что внутренняя часть строки подключения выглядит следующим образом:

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\YourDbFile.mdf;Database=YourDbName; Integrated Security=SSPI;

куда |DataDirectory| заполнитель, который будет заменен путем к вашему каталогу данных. Для веб-приложения это должен быть App_Data, а для автономных приложений - папка приложения. Вы также можете использовать любой путь непосредственно в строке подключения или управлять разрешением DataDirectory из кода с помощью:

AppDomain.CurrentDomain.SetData("DataDirectory", YourPath);
Другие вопросы по тегам