2016-11-14 7 views
0

Я экспериментировал с ASP.NET Ядром и создал новый веб-приложения сайта (MVC) с ним:Как подключиться к базе данных WebApplication.db ASP.NET Core?

git init CoreWebApp 
cd CoreWebApp 
dotnet new -t web 
dotnet restore 

После того, как код загрузился я побежал начальную миграцию EF

dotnet ef database update 

На данный момент база данных создается на ./bin/Debug/netcoreapp1.0/WebApplication.db, и сайт запускается и позволяет пользователям регистрироваться и успешно войти в систему. Я хотел бы подключиться к этой базе данных через SSMS, LINQPad или другой стандартный SQL-клиент, но у меня проблемы. В запросах «открыть файл» обычно найдите расширение .mdf и пожаловаться на файл .db.

Как подключиться к файлу ASP.NET Core, EF Generated WebApplication.db из SQL-клиента?

+0

'.db'is SQLite и не SQL Server – Tseng

+0

ах, я думал, что (для не очевидная причина), которая была только на хостах Linux. Поэтому я должен иметь возможность подключаться к любому SQLite-клиенту, просто указывая на файл DB, а? – STW

+0

Да. (черт 12 символов) – Tseng

ответ

1

Команда dotnet new создана с учетом переносимости, поэтому она также может работать в системах, отличных от Windows. Поскольку SQLExpress для Linux и Mac отсутствует, шаблон создается с использованием базы данных SQLite.

Для этого вам нужен клиент SQLite.

Конечно, вы можете заменить любого провайдера, который поддерживает Core EntityFramework, например SQLServer.

Просто замените

"Microsoft.EntityFrameworkCore.Sqlite": "1.0.1", 

в вашем project.json с

"Microsoft.EntityFrameworkCore.SqlServer": "1.0.1", 

и

services.AddDbContext<ApplicationDbContext>(options => 
    options.UseSqlite(Configuration.GetConnectionString("DefaultConnection"))); 

с

services.AddDbContext<ApplicationDbContext>(options => 
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); 

в Startup.cs и, наконец, строка соединения в appsettings.json

"ConnectionStrings": { 
    "DefaultConnection": "Data Source=WebApplication.db" 
}, 

с

"ConnectionStrings": { 
    "DefaultConnection": "Server=.\SQLExpress;AttachDbFilename=C:\MyFolder\MyDataFile.mdf;Database=dbname;Trusted_Connection=Yes;" 
} 
Смежные вопросы