ASP.NET Core Web API入门之三:使用EF Core
发布人:shili8
发布时间:2024-03-13 20:49
阅读次数:53
在上一篇文章中,我们学习了如何创建一个简单的ASP.NET Core Web API项目。在本文中,我们将学习如何使用Entity Framework Core(EF Core)来与数据库交互。
首先,我们需要安装Entity Framework Core包。打开Visual Studio,右键单击项目,选择“管理NuGet程序包”。在搜索框中输入“Microsoft.EntityFrameworkCore”并安装它。
接下来,我们需要创建一个数据模型。在Models文件夹中创建一个新的类文件,命名为“TodoItem.cs”。在这个类中,我们定义了一个简单的TodoItem模型,如下所示:
csharpusing System;
namespace WebAPI.Models{
public class TodoItem {
public int Id { get; set; }
public string Name { get; set; }
public bool IsComplete { get; set; }
public DateTime DueDate { get; set; }
}
}
接下来,我们需要创建一个DbContext类来表示数据库上下文。在Data文件夹中创建一个新的类文件,命名为“AppDbContext.cs”。在这个类中,我们定义了一个简单的DbContext类,如下所示:
csharpusing Microsoft.EntityFrameworkCore;
using WebAPI.Models;
namespace WebAPI.Data{
public class AppDbContext : DbContext {
public AppDbContext(DbContextOptions options) : base(options)
{
}
public DbSet TodoItems { get; set; }
}
}
接下来,我们需要配置数据库连接。在appsettings.json文件中添加以下配置:
json"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)mssqllocaldb;Database=TodoDb;Trusted_Connection=True;MultipleActiveResultSets=true"
}
然后,在Startup.cs文件中配置DbContext服务:
csharpservices.AddDbContext(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
最后,我们可以在Controller中使用EF Core来与数据库交互。在TodoItemsController.cs文件中,我们注入AppDbContext,并使用它来查询和操作数据库,如下所示:
csharpusing System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc;
using WebAPI.Data;
using WebAPI.Models;
namespace WebAPI.Controllers{
[Route("api/[controller]")]
[ApiController]
public class TodoItemsController : ControllerBase {
private readonly AppDbContext _context;
public TodoItemsController(AppDbContext context)
{
_context = context;
}
// GET: api/TodoItems [HttpGet]
public ActionResult> GetTodoItems()
{
return _context.TodoItems.ToList();
}
// POST: api/TodoItems [HttpPost]
public ActionResult PostTodoItem(TodoItem todoItem)
{
_context.TodoItems.Add(todoItem);
_context.SaveChanges();
return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
}
}
}
现在,我们已经学会了如何使用Entity Framework Core来与数据库交互。在下一篇文章中,我们将学习如何进行数据验证和错误处理。敬请关注!

