本教程旨在指导开发者如何在ASP.NET Core应用程序中使用Entity Framework Core(EF Core)进行数据库操作。EF Core是一个轻量级的、可扩展的ORM(对象关系映射)框架,它允许.NET开发者以面向对象的方式来处理数据库。在本教程中,将创建一个简单的Web应用程序,演示如何使用EF Core进行数据库的创建、模型的添加、依赖注入的配置以及数据库的自动创建。最后,将通过Postman测试Web API。
在开始之前,请确保已经安装了以下软件:
首先,需要创建一个名为sampleCoreEF
的数据库。可以选择在PostgreSQL或SQL Server 2016中创建这个数据库。
打开Visual Studio,创建一个新的ASP.NET CoreWeb应用程序。选择“Web应用程序”模板,并命名为Samples.AspCoreEF
。
接下来,将向解决方案中添加一个名为Samples.AspCoreEF.DAL.EF
的类库。这个类库将包含EF Core模型、迁移和上下文。
在Samples.AspCoreEF.DAL.EF
项目中,将添加一个名为Models
的文件夹,其中包含两个模型:Person.cs
和Task.cs
。
需要添加一个名为EntityFramework
的新文件夹,其中将包含上下文。
现在,将在ASP.NET Web应用程序中注册上下文类。首先,将Samples.AspCoreEF.DAL.EF
作为引用添加到Samples.AspCoreEF
中。然后,将添加必要的引用以生成数据库。
在Startup.cs
文件中,将添加两个代码块来展示如何以两种不同的方式注册上下文类。首先,使用SQL Server连接到数据库:
var sqlconnection = @"Server=(localdb)\v11.0;Database=samplecoreEF;Trusted_Connection=True;";
services.AddDbContext(dbcontextoption => dbcontextoption.UseSqlServer(sqlconnection));
然而,更好的做法是将连接字符串添加到配置文件中。在ASP.NET Core中,可以使用appsettings.json
文件来添加所有与Web应用程序相关的设置。
如果选择使用PostgreSQL,可以通过以下方式配置连接字符串:
var connectionString = Configuration["DbContextSettings:ConnectionString"];
services.AddDbContext(opts => opts.UseNpgsql(connectionString));
要自动创建数据库,可以使用NuGet Package Manager Console中的迁移命令:
Add-Migration CoreMigration
执行此命令后,解决方案中将添加一个名为Migrations
的文件夹。如果数据库已存在,可以使用Update-Database
命令。