玩轉ASP.NET 5:資料庫連接字串配置及讀取

來源:互聯網
上載者:User

標籤:

1.連接字串讀取

  • 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:資料庫連接字串配置及讀取

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.