首页 > 其他分享 >ApplicationDbContext配置

ApplicationDbContext配置

时间:2022-09-29 05:11:05浏览次数:61  
标签:nameof keys ApplicationDbContext 配置 Entity Add modelBuilder options

一、appsetting.json 声明连接字符串

 "ConnectionStrings": {
    "DefaultConnection": "Server=DESKTOP-DABHN6U\\MSSQLSERVER2014;uid=sa;pwd=Lz38275292;database=SPA;MultipleActiveResultSets=true;"
  },

二、创建上下文类 ApplicationDbContext 

 public class ApplicationDbContext : DbContext
    {
        public ApplicationDbContext(DbContextOptions options) : base(options)
        {

        }

        public DbSet<MemberInfo> Members { get; set; }
        public DbSet<PostInfo> PostInfos { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder options)
        {
            options.EnableSensitiveDataLogging(true);//错误信息中启用敏感数据记录
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            //设置组合主键
            List<string> keys = new List<string>();
            keys.Add(nameof(CardHistoryConsumptionInfo.会员编号));
            keys.Add(nameof(CardHistoryConsumptionInfo.流水号));
            keys.Add(nameof(CardHistoryConsumptionInfo.销售单明细ID));
            modelBuilder.Entity<CardHistoryConsumptionInfo>().HasKey(keys.ToArray());

            keys = new List<string>();
            keys.Add(nameof(StockInfo.年));
            keys.Add(nameof(StockInfo.月));
            keys.Add(nameof(StockInfo.会所编号));
            keys.Add(nameof(StockInfo.仓库编号));
            keys.Add(nameof(StockInfo.物品编号));
            modelBuilder.Entity<StockInfo>().HasKey(keys.ToArray());

            keys = new List<string>();
            keys.Add(nameof(AnotherNameInfo.表名));
            keys.Add(nameof(AnotherNameInfo.字段名));
            modelBuilder.Entity<AnotherNameInfo>().HasKey(keys.ToArray());

            keys = new List<string>();
            keys.Add(nameof(EmployeePerformanceInfo.流水号));
            keys.Add(nameof(EmployeePerformanceInfo.员工编号));
            modelBuilder.Entity<EmployeePerformanceInfo>().HasKey(keys.ToArray());

            // 配置表名映射
            modelBuilder.Entity<MemberInfo>().ToTable(MemberInfo.TableName);
          
        }

 三、注入服务 Program.cs

builder.Services.AddDbContext<ApplicationDbContext>(options =>
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));

  

标签:nameof,keys,ApplicationDbContext,配置,Entity,Add,modelBuilder,options
From: https://www.cnblogs.com/friend/p/16740140.html

相关文章

  • scala读取配置文件内容
    scala读取配置文件内容方法1:默认加载方式,读取./src/main/resources下文件ConfigFactory.load(f),例子(亲测可用):pom.xml中引入<dependency><groupId>com.......
  • Tomcat 基于端口的虚拟主机配置
    1、建立虚拟主机存放网页的根目录,并创建首页文件index.html[root@bogontomcat]#mkdirwebapps1webapps2webapps3[root@bogontomcat]#pwd/usr/local/apache-tomcat-8.......
  • mybatisPlus属性自动填充配置之MetaObjectHandler接口实战
    链接:https://blog.csdn.net/qq_42875345/article/details/113273533链接:https://www.cnblogs.com/liyh321/p/14430883.html ......
  • VSCODE GDB调试配置
    tasks.json{"options":{"cwd":"${workspaceFolder}/build"},"tasks":[{"label":"cmake","command":"c......
  • 【教程】VsCodeForCPP 最简单一键启动VsCode C/C++环境,无需任何配置
    整合VsCode以前的教程中,总有各种同学由于环境变量编译器的配置问题出现无法使用的情况,于是我将VsCode移植成绿色版本,直接整合C++编译器,全部配置为动态路径,保证即开即用......
  • SSM整合配置
      工程创建完成后在pom文件中导入jia包<dependencies><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</v......
  • SpringBoot系列——加载自定义配置文件
    Java开发过程中,一些配置信息不想写到application.properties里面去,想自己弄一个配置文件,然后加载。例子如下:Employee.java类核心代码:@Configuration//用来标注一个自定......
  • nginx 配置参数优化
    nginx作为高性能web服务器,即使不特意调整配置参数也可以处理大量的并发请求。以下的配置参数是借鉴网上的一些调优参数,仅作为参考,不见得适于你的线上业务。worker进程worker......
  • php-fpm指定配置文件及php相关配置命令
    [root@hostnamecentos7sbin]#./php-fpm-c/usr/local/php/etc/php.ini-y/usr/local/php/etc/php-fpm.conf ......
  • vim 配置说明
    vim是公认很好用很完美,但是对新手来说,上手毕竟不是很容易。Windows下程序员很多都很喜欢SourceInsight这个工具来看代码,各种语法高亮看着很舒服。vim作为为程序员打造......