📅  最后修改于: 2023-12-03 14:39:23.046000             🧑  作者: Mango
ASP.NET Core实体框架(Database-First)是一个强大的工具,可以帮助程序员快速实现与数据库的交互。它是一种ORM(Object-Relational Mapping)技术,可以通过代码方式和数据库之间进行映射,使得开发者无需关心SQL语句的细节,就能够实现数据持久化。
Entity Framework(Core)是.NET Core框架的一个重要组成部分,它是一个开放源代码的ORM框架,可以使用LINQ(Language-Integrated Query)查询技术轻松实现与数据库的交互。
在ASP.NET Core应用程序中安装Entity Framework(Core)主要有两种方式:NuGet包管理器和手动安装。
在Visual Studio中,右键单击项目文件夹并选择“管理NuGet程序包”。在程序包管理器中,搜索EntityFramework.Core并安装。
在程序中安装Entity Framework(Core)需要手动添加程序包引用。在项目中的“依赖关系”文件夹中,右键单击“NuGet程序包”并选择“管理NuGet程序包”。在程序包管理器中,搜索EntityFramework.Core并安装。
ASP.NET Core实体框架提供了多种开发模式,其中最常见的是数据库先开发(Database-First)模式。在这个开发模式中,ASP.NET Core实体框架通过EDM(X)文件与数据库表进行映射。
//在appsettings.json文件中添加
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=db_name;Trusted_Connection=True;MultipleActiveResultSets=true"
}
dotnet tool install --global dotnet-ef
在Nuget Package Manager控制台中输入:
install-package Microsoft.EntityFrameworkCore.SqlServer
install-package Microsoft.EntityFrameworkCore.Tools
在程序包管理器中输入以下命令:
Scaffold-DbContext "Your Connection String" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
在Visual Studio中右键单击Controllers文件夹,并选择“添加 -> 控制器 -> MVC控制器 - 空”
在控制器类中添加以下代码:
using Microsoft.EntityFrameworkCore;
using System.Linq;
using System.Threading.Tasks;
namespace YourNamespace.Controllers
{
[Produces("application/json")]
[Route("api/[controller]")]
[ApiController]
public class YourController : ControllerBase
{
private readonly YourDbContext _context;
public YourController(YourDbContext context)
{
_context = context;
}
[HttpGet]
public async Task<IActionResult> Get()
{
var result = await _context.YourEntity.ToListAsync();
return Ok(result);
}
//...
}
}
以上代码中,我们定义了一个Get方法,它是用来从数据库中获取YourEntity表中的所有数据。
在Program.cs文件中添加以下代码:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureAppConfiguration((context, builder) =>
{
builder.SetBasePath(context.HostingEnvironment.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{context.HostingEnvironment.EnvironmentName}.json", optional: true);
})
.Build();
以上代码中,我们启用了appsettings.json文件中的连接字符串。
在浏览器中输入http://localhost:port/api/YourController,并确认是否能正确显示从数据库中读取到的数据。
通过以上步骤,您已经成功学会了如何使用ASP.NET Core实体框架(Database-First)与数据库进行交互。[assembly: ]Markdown