码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-01-25 19:22:11      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

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:数据库连接字符串配置及读取

标签:

原文地址:http://www.cnblogs.com/givecase/p/4248571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!