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

           

  • 相关阅读:
    java处理高并发高负载类网站的优化方法
    谈谈Memcached与Redis
    php中const与define的使用区别 详解
    ecshop添加模板与库文件
    ECShop 2.5.1 的结构图及各文件相应功能介绍
    Uva10972(RevolC FaeLoN)
    交叉染色法判断二分图
    边双联通问题求解(构造边双连通图)POJ3352(Road Construction)
    POI1999(仓库管理员)
    ZOJ1311(Network)
  • 原文地址:https://www.cnblogs.com/personblog/p/10788824.html
Copyright © 2020-2023  润新知