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(DbContextOptionsoptions) : 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来与数据库交互。在下一篇文章中,我们将学习如何进行数据验证和错误处理。敬请关注!