好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

玩转ASP.NET 5:数据库连接字符串配置及读取

1.1前言

     本来我想在以后重构时,再来说这个问题。可是有园友问我: 如何把数据库连接字符串写到Config.json并读取?

     原来大家玩 xml 格式配置文件相当熟悉啦。可是ASP.NET 5项目换成越来越流行的JSON格式当配置文件。如果不去阅读源码,仅从 Identity 模板代码看,还是很迷糊。

1.2Config.json代码

     在 BlogASPNET5.ConsoleApp 控制台项目(执行程序)中,添加Config.json文件,其代码:

 {
      "  Data  "  : {
          "  EFContext  "  : {
              "  ConnectionString  " :  "  Server=.;Database=TestDB;UID=sa;PWD=123456;  "  
        }
    },
      "  EntityFramework  "  : {
          "  EFContext  "  : {
              "  ConnectionStringKey  " :  "  Data:EFContext:ConnectionString  "  
        }
    }
} 

1.2程序集引入

     在 BlogASPNET5.Repository 中project.json配置: 

    

     不用这个类库,自己写读取json的键值也行哦。

修改上下文代码 
 using   BlogASPNET5.Entity.Accounts;
  using   Microsoft.Data.Entity;
  using   Microsoft.Data.Entity.Metadata;
  using   Microsoft.Framework.ConfigurationModel;

  namespace   BlogASPNET5.Repository.Contexts
{
      public   class   EFContext : DbContext
    {
          public  DbSet<Role> Roles {  get ;  set  ; }
          public  DbSet<User> Users {  get ;  set  ; }

          public  IConfiguration Configuration {  get ;  set  ; }
          ///   <summary> 
         ///   从config.json读取连接字符串
          ///   </summary> 
         ///   <returns></returns> 
         public   string   GetConnString()
        {
            Configuration  =  new  Configuration().AddJsonFile( "  config.json  "  );
              return  Configuration.Get( "  Data:EFContext:ConnectionString  "  );
        }

          protected   override   void   OnConfiguring(DbContextOptions options)
        {
            options.UseSqlServer(GetConnString());
        }

          protected   override   void   OnModelCreating(ModelBuilder modelBuilder)
        {
              //  多对一关系及指定外键 
            modelBuilder.Entity<User>().ManyToOne(r => r.Role, u => u.Users).ForeignKey(f =>  f.RoleId);
        }
    }
} 


2.小结

     本篇算是对上一篇的补充,也是回答园友问题。当然这只是一种写法,还有更通用的写法……

    (今天时间不是很空闲,没按照[计划]分享!请耐心跟进!)

玩转ASP.NET 5:数据库连接字符串配置及读取

标签:

查看更多关于玩转ASP.NET 5:数据库连接字符串配置及读取的详细内容...

  阅读:30次