zoukankan      html  css  js  c++  java
  • .netcore2.1 使用postgresql数据库,不能实现表的CRUD问题

      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; }
          
    
        }
    }

           

  • 相关阅读:
    Vue生命周期
    Vue-Router
    Vue组件
    Vue基础以及指令
    ES6 常用语法
    缓存、序列化、信号
    四、全局事务的commit和rollback
    三、全局事务begin请求GlobalBeginRequest
    二、分布式事务协调者DefaultCoordinator
    一、seata-server的main启动方法
  • 原文地址:https://www.cnblogs.com/personblog/p/10788824.html
Copyright © 2011-2022 走看看