我使用的是ASP.NET核心5. 0 + SQL Server的教程,但我实际上使用的是ASP.NET核心6. 0 + Sqlite。
本教程在StartUp.cs
中包含以下代码
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("ConnStr")));
}
但是在我的项目中,那个文件或类并不存在。有一个Program.cs
文件,它没有类或方法,只有几行代码。我猜它就是替换那个类的东西,所以我尝试使用它
builder.Services.AddDbContext<ApplicationDbContext>(options=> options.);
options
没有像UseSqlServer
这样的方法。我想这是因为我使用的是Sqlite,而不是SQL Server,所以我在网上搜索了一个Sqlite的例子,但那些例子中的方法也不存在。我可以看到AddEntityFrameworkSqlite
,但仅此而已。
我怎么才能让它工作呢?
我添加了以下相关软件包:
- Microsoft.AspNetCore.Identity
- Microsoft.AspNetCore.Identity.EntityFrameworkCore
- Microsoft.EntityFrameworkCore.Sqlite.Core
- Microsoft.EntityFrameworkCore.Tools
其他类与the original tutorial相同。
下面是DbContext
类。
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
public class ApplicationDbContext:IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options):base(options)
{
}
}
我尝试编辑的Program.cs
代码:
using WebApplication1.Authentication;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
builder.Services.AddDbContext<ApplicationDbContext>(options=> options.);
var app = builder.Build();
// Configure the HTTP request pipeline.
app.UseAuthorization();
app.MapControllers();
app.Run();
3条答案
按热度按时间sirbozc51#
参考@ussimandias提供的ASP.NET Core 6.0 Minimal API with Entity framework core,它也对我有效。
需要的软件包:
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
在
DbContext.cs
中,覆盖
OnConfiguring
方法,通过appsettings.json
文件从SQL Server读取数据库的连接字符串在
Program.cs
中,使用服务容器设置依赖注入
通过dotnet-ef更新实体框架数据库
在Nuget软件包管理器控制台(工具〉Nuget软件包管理器〉软件包管理器控制台)上:
dotnet tool install dotnet-ef -f
.dotnet ef database update
dotnet ef database update
已创建迁移脚本:
xyhw6mcr2#
你必须安装这些数据包
在Program.cs中
在appsettings.json中
3gtaxfhh3#
添加数据库上下文- public StudentDbContext(数据库上下文选项):基础(选项){