以下是一个使用ASP.NET Core 3.1 API和EF Core 5.0的解决方案示例:
using System.ComponentModel.DataAnnotations;
public class TodoItem
{
[Key]
public int Id { get; set; }
public string Title { get; set; }
public bool IsComplete { get; set; }
}
using Microsoft.EntityFrameworkCore;
public class TodoContext : DbContext
{
public DbSet TodoItems { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("your_connection_string_here");
}
}
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
[ApiController]
[Route("api/[controller]")]
public class TodoController : ControllerBase
{
private readonly TodoContext _context;
public TodoController(TodoContext context)
{
_context = context;
}
[HttpGet]
public IEnumerable Get()
{
return _context.TodoItems.ToList();
}
[HttpPost]
public IActionResult Post([FromBody] TodoItem item)
{
_context.TodoItems.Add(item);
_context.SaveChanges();
return Ok();
}
}
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
public class Startup
{
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddDbContext();
services.AddSwaggerGen();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "API V1"));
}
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
这只是一个简单的示例,你可以根据自己的需求进行扩展和修改。希望对你有所帮助!