dotnet webapi 使用sqlite数据库

发布时间 2024-01-07 21:32:24作者: 虎虎生威啊

切换到sqlite数据库

using Microsoft.EntityFrameworkCore;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<DataContext>(options =>
{
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection"));
});

上面的程序,如果我想要使用sqlite数据库,应该怎么修改?

步骤

  1. 安装 Microsoft.EntityFrameworkCore.Sqlite 包。dotnet add package Microsoft.EntityFrameworkCore.Sqlite
  2. 在 appsettings.json 文件中添加以下内容:
{
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=your_database_name.db"
  }
}
  1. 最后,您需要将 DbContext 的配置更改为使用 SQLite 数据库。您可以使用以下代码将 UseSqlServer 更改为 UseSqlite:
options.UseSqlite(builder.Configuration.GetConnectionString("DefaultConnection"));

sqlite的版本匹配问题

报错如下:

error: NU1202: Package Microsoft.EntityFrameworkCore.Sqlite 8.0.0 is not compatible with net6.0 (.NETCoreApp,Version=v6.0). Package Microsoft.EntityFrameworkCore.Sqlite 8.0.0 supports: net8.0 (.NETCoreApp,Version=v8.0)
error: Package 'Microsoft.EntityFrameworkCore.Sqlite' is incompatible with 'all' frameworks in project '/Users/song/Code/dotnet_webapi_2/pokemon-review-api-master/PokemonReviewApp/PokemonReviewApp.csproj'.

如何安装指定版本的EF Core

要安装特定版本的 EF Core,您可以使用以下命令:
dotnet add package Microsoft.EntityFrameworkCore --version <VERSION>

其中, 是您要安装的 EF Core 版本号。例如,要安装 EF Core 5.0.0 版本,您可以使用以下命令:
dotnet add package Microsoft.EntityFrameworkCore --version 5.0.0