PostgreSQL对表名、字段名都是区分大小写的。为了兼容其他的数据库程序代码的编写,推荐使用小写加_的方式,例如:swagger_info
我们使用.netcore连接postgresql数据库时,使用DbFirst模式,当数据库连接成功时,无法对个人创建表进行任何操作,原因是postgresql数据库有“模式”的概念,系统表是public模式,我们不需要指定,个人创建的模式,唯一与MS SqlServer不同的是,在用到表的时候,指定模式即可。
using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; using SwaggerTest.Model; namespace SwaggerTest.Data { /// <summary> /// 标准数据库 /// </summary> public class ApplicationDbContext : IdentityDbContext { /// <summary> /// /// </summary> /// <param name="options"></param> public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { } protected override void OnModelCreating(ModelBuilder builder) { base.OnModelCreating(builder); //postgresql 按模式划分表,向表中保存数据时,需要指定哪一模式 builder.Entity<SwaggerInfoModel>().ToTable("swagger_info", "SwaggerData"); // Customize the ASP.NET Identity model and override the defaults if needed. // For example, you can rename the ASP.NET Identity table names and more. // Add your customizations after calling base.OnModelCreating(builder); } /// <summary> /// 保存信息 /// </summary> public virtual DbSet<SwaggerInfoModel> SwaggerInfoModel { get; set; } } }