安装EntityFrameworkCore-Design-Tools-对应的数据库

Entity文件夹中存放映射的类

 [Table("alarmlog")]
 public class Alarmlog
 {
     /// <summary>
     /// 主键
     /// </summary>
     [Key]
     public Guid? Id { get; set; }
​
     /// <summary>
     /// 请求时间
     /// </summary>
     public string? requestTime { get; set; }
​
     /// <summary>
     /// 报警信息记录数据索引ID
     /// </summary>
     public Guid? dataId { get; set; }
 }

Id自动为主键,也可以手动加[Key]成为主键

创建继承DbContext的类

 public class 数据库连接 : DbContext
 {
     public 数据库连接()
     {
         
     }
     public 数据库连接(DbContextOptions<数据库连接> options) : base(options)
     {
​
     }
     protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
     {
//optionsBuilder.UseNpgsql("Host=192.168.31.105;Port=5432;Database=postgres;Username=postgres;Password=123456");
optionsBuilder.UseNpgsql("Host=127.0.0.1;Port=5432;Database=postgres;Username=postgres;Password=123456");
     }
     public DbSet<用户类> 用户 { get; set; }

依赖注入

var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");
builder.Services.AddDbContext<数据库连接>(options =>
    options.UseNpgsql(builder.Configuration.GetConnectionString("DefaultConnection")));

在创建上下文类的文件夹中输入命令

迁移命令描述

CLI命令

PMC命令

创建迁移:migrationname为迁移名称

dotnet ef migrations add migrationName

add-migration migrationName

移除迁移(删除最近的一次迁移)

dotnet ef migrations remove

remove-migration

应用所有的迁移(使迁移文件应用到数据库)

dotnet ef database update

update-database

指定版本进行迁移

dotnet ef database update migrationName

update-database migrationName

生成对应版本的脚本

dotnet ef migrations script

Script-Migration

查看迁移列表

dotnet ef migrations list

查看数据库上下文信息

dotnet ef dbcontext info

命令行输入

GRANT ALL PRIVILEGES ON DATABASE postgres TO postgres

如果默认系统维护数据库被修改的话,到psql连接上现在的然后赋给权限,如果psql显示不是命令的话,到高级系统配置path。