ASP.NET Core 6 Web API不兼容老的Entity Framework 6,但可以使用最新的Entity Framework Core。下面是一个使用Entity Framework Core的代码示例:
首先,在ASP.NET Core 6 Web API项目中安装Entity Framework Core:
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Design
接下来,创建一个DbContext类:
using Microsoft.EntityFrameworkCore;
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions options)
: base(options)
{
}
public DbSet MyEntities { get; set; }
}
然后,在Startup.cs中添加以下代码:
using Microsoft.EntityFrameworkCore;
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnectionString("MyDbConnection")));
}
最后,即可在Web API控制器中使用MyDbContext:
using System.Linq;
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("[controller]")]
public class MyController : ControllerBase
{
private readonly MyDbContext _dbContext;
public MyController(MyDbContext dbContext)
{
_dbContext = dbContext;
}
[HttpGet]
public IActionResult GetAll()
{
var entities = _dbContext.MyEntities.ToList();
return Ok(entities);
}
}
以上就是使用Entity Framework Core兼容ASP.NET Core 6 Web API的解决方法。