.NET 6 与 PostgreSQL
在本文中,我们将探索如何将 PostgreSQL 与 .NET 6 一起使用。我们需要采取的步骤来设置、配置和使用 PostgreSQL 与 .NET 6 WebAPI。 你可以在 youtube 上观看完整的视频 你也可以在 Github 上找到源代码 https://translate.google.com/translate?hl=en&sl=auto&tl=zh&u=https://git
在本文中,我们将探索如何将 PostgreSQL 与 .NET 6 一起使用。我们需要采取的步骤来设置、配置和使用 PostgreSQL 与 .NET 6 WebAPI。
你可以在 youtube 上观看完整的视频
你也可以在 Github 上找到源代码
https://translate.google.com/translate?hl=en&sl=auto&tl=zh&u=https://github.com/mohamadlawand087/Net6-PostgreSQL
在你的机器上安装 Postgres
冲泡安装postgresql
启动和停止 Postgres 正在运行
brew 服务启动 postgresql
酿造服务停止 postgresql
与 Postgres 连接
psql postgres
创建用户和通行证
使用登录密码“12345678”创建角色穆罕默德;
改变角色 mohamad CREATEDB;
使用超级用户更改角色 mohamad;
创建数据库
创建数据库sampledb;
对数据库的大权限
将数据库 sampledb 上的连接授予 mohamad;
安装 EF 工具
dotnet 工具安装 --global dotnet-ef
创建 Web 应用程序
dotnet new webapi -n DbExploration
安装包
dotnet 添加包 Npgsql.EntityFrameworkCore.PostgreSQL
dotnet 添加包 Microsoft.EntityFrameworkCore.Design
dotnet 添加包 Microsoft.EntityFrameworkCore.Tools
使用连接字符串更新 AppSettings
“连接字符串”:{
"SampleDbConnection": "用户 ID u003dmohamad;Passwordu003d12345678;Serveru003dlocalhost;Portu003d5432;Databaseu003dsampledb;Integrated Securityu003dtrue;Poolingu003dtrue;"
}
让我们添加我们的 dbcontext,我们创建一个名为 Data 的文件夹,并在该文件夹中创建一个名为 Api DbContext 的类
使用 Microsoft.EntityFrameworkCore;命名空间 DbExploration.Data;公共类 ApiDbContext:DbContext
{
公共 ApiDbContext(DbContextOptions<ApiDbContext> 选项):base(选项) { }
}
将连接字符串添加到 Program.cs
builder.Services.AddEntityFrameworkNpgsql().AddDbContext<ApiDbContext>(opt u003d>
opt.UseNpgsql(builder.Configuration.GetConnectionString("SampleDbConnection")));
现在开始添加 Models 文件夹,在 Models 文件夹中,我们将创建我们的第一个模型将是一个名为 BaseEntity 的通用类
公共抽象类 BaseEntity
{
公共指导 ID { 获取;放; } u003d Guid.NewGuid();
公共日期时间更新日期 { 获取;放; } u003d 日期时间.UtcNow;
公共字符串UpdatedBy {get;放; } u003d "";
公共字符串AddedBy { get;放; } u003d "";
公共日期时间已添加日期 { 获取;放; } u003d 日期时间.UtcNow;
公共 int 状态 { 获取;放; } u003d 1;
}
接下来我们需要创建一个名为 Team 的新模型
公共类团队:BaseEntity
{
公共团队()
{
Drivers u003d new HashSet<Driver>();
} 公共字符串名称 { 获取;放; } u003d "";
公共字符串年份 { 获取;放; } u003d "";公共虚拟 ICollection<Driver> 驱动程序 { 获取;放; }
}
下一个模型将是驱动程序
公共类驱动程序:BaseEntity
{
公共指导 TeamId { 获取;放; }
公共字符串名称 { 获取;放; } u003d "";
公共 int RacingNumber { 获取;放; }
公共虚拟团队 Team { 获取;放; }
}
下一个模型将是 DriverMedia
公共类 DriverMedia
{
公共 int ID { 获取;放; }
公共字节\ [] 媒体{ 获取;放; }
公共字符串标题{获取;放; } 公共 Guid DriverId { 获取;放; }
公共司机司机{得到;放; }
}
现在我们更新 Db 上下文,我们将使用 fluent API
公共类 ApiDbContext : DbContext
{
公共虚拟 DbSet<Driver> 驱动程序 { 获取;放; }
公共虚拟 DbSet<Team> 团队 { 获取;放; } public ApiDbContext(DbContextOptions<ApiDbContext> options):base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<驱动程序>(实体 u003d>
{
// 一对多关系
entity.HasOne(d u003d> d.Team)
.WithMany(p u003d> p.Drivers)
.HasForeignKey(d u003d> d.TeamId)
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_Driver_Team");
// 一对一
entity.HasOne(d u003d> d.DriverMedia)
.WithOne(i u003d> i.Driver)
.HasForeignKey<DriverMedia>(b u003d> b.DriverId);
});
}
}
要实现对数据库的更改,我们需要执行以下操作
dotnet ef 迁移添加“initial_migrations”
dotnet ef 数据库更新
请评论您可能有的任何问题。
更多推荐
所有评论(0)