如何使用EntityFramework 7在ASP.NET Core Web应用程序中添加和使用SQLite数据库?
当我听到它并创建我的第一个Web应用程序时,我潜入了ASP.NET Core,我突然想要存储一堆数据,而SQLite似乎是显而易见的选择。
因为我希望它与我的应用程序保持一致,所以要保持它的轻量级,简单并避免设置单独的数据库。
那么如何在ASP.NET Core中创建SQLite数据库?
答案 0 :(得分:7)
如果您想使用SQLite为数据库创建ASP.NET Core Web应用程序,我强烈建议您使用Yeoman为您构建应用程序。您需要先安装.NET Core 1.1 SDK(Visual Studio 2015目前似乎只包含SDK版本1.0.0和1.0.1)。然后,您需要安装npm附带的Node.js,然后安装以下npm软件包:yo和generator-aspnet。然后,您只需运行yo aspnet
并回答几个问题。
C:\Development>yo aspnet
? ==========================================================================
We're constantly looking for ways to make yo better!
May we anonymously report usage statistics to improve the tool over time?
More info: https://github.com/yeoman/insight & http://yeoman.io
========================================================================== Yes
_-----_ ╭──────────────────────────╮
| | │ Welcome to the │
|--(o)--| │ marvellous ASP.NET Core │
`---------´ │ generator! │
( _´U`_ ) ╰──────────────────────────╯
/___A___\ /
| ~ |
__'.___.'__
´ ` |° ´ Y `
? What type of application do you want to create? Web Application
? Which UI framework would you like to use? Bootstrap (3.3.6)
? What's the name of your ASP.NET application? WebApplication
之后,您将收到以下回复:
Your project is now created, you can use the following commands to get going
cd "WebApplication"
dotnet restore
dotnet build (optional, build will also happen when it's run)
dotnet ef database update (to create the SQLite database for the project)
dotnet run
运行dotnet restore
,dotnet ef database update
,然后dotnet run
并转到localhost:5000
以确保项目正在运行。
现在,您可以在Visual Studio 2015中打开项目(假设您使用的是Windows)或Visual Studio Code。
关于这一点的好处是Startup.cs
,project.json
和appsettings.json
文件设置为使用SQLite。此外,还为您创建了一个SQLite数据库:
<强> Startup.cs:强>
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite(Configuration.GetConnectionString("DefaultConnection")));
}
<强> project.json:强>
{
"Microsoft.EntityFrameworkCore.Sqlite": "1.1.0",
"Microsoft.EntityFrameworkCore.Sqlite.Design": {
"version": "1.1.0",
"type": "build"
}
}
<强> appsettings.json 强>
{
"ConnectionStrings": {
"DefaultConnection": "Data Source=WebApplication.db"
}
}
您的SQLite数据库将位于bin/Debug/netcoreapp1.0
。就我而言,它位于C:\Development\WebApplication\bin\Debug\netcoreapp1.0\WebApplication.db
如果要重命名SQLite数据库,请修改appsettings.json
文件并运行dotnet ef database update
。
要了解有关在.NET Core和EF Core中使用SQLite数据库的更多信息,请查看以下文章:.NET Core - New Database
答案 1 :(得分:2)
安装下面提到的包
PM> Install-Package Microsoft.EntityFrameworkCore
PM> Install-Package Microsoft.EntityFrameworkCore.Sqlite
PM> Install-Package Microsoft.EntityFrameworkCore.Tools
创建模型
创建 DBContext 类添加 SQLite 连接配置
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlite("Data Source=DBFileName.db");
运行迁移命令以开始使用它
PM> add-migration <MigrationName> //Ex: add-migration IntialMigration
PM> update-database
https://fullstack-lab.co.in/Sqlite-entity-framework-core-quick-start
本文提供了在 Asp.net core 3.1 中使用 SQLite 的简单步骤