2016-11-22 9 views
2

Я боюсь найти ресурсы по настройке строки подключения к базе данных в ядре ASP.net. Я добавил строку подключения к файлу appsettings.json ниже:Настройка подключения к базе данных в приложении .Net Core

{ 
    "ConnectionStrings": { 
    "MTDatabase": "Server=ss-demo-7-sep112;Database=MTDB;Trusted_Connection=True;" 
    } 
} 

, но нужно найти способ, чтобы получить доступ к этой строке соединения в моем родовом repositry. который находится в отдельном проекте для моего основного приложения .net, в котором содержится весь материал Data Access Layer. Ниже мой общий репозиторий, где я пытаюсь получить строку подключения

using System.Text; 
using System.Data.Entity; 
using System.Data.Entity.Infrastructure; 
using System.Configuration; 
using System.Data.Entity.Core.Objects; 

namespace HaldanMT.DAL 
{ 
    public class GenericRepository<T> : IDisposable, IRepository<T> where T : class, new() 
    { 

     protected ObjectContext _context; 
     protected ObjectSet<T> _objectSet { get; set; } 

     public GenericRepository(string connectionName = "MTDatabase") 
     { 
      _context = new ObjectContext(ConfigurationManager.ConnectionStrings[connectionName].ConnectionString); 
      _objectSet = _context.CreateObjectSet<T>(); 
     } 
    } 
} 

PS. Я уже ссылался на этот проект DAL в моем основном проекте .net. Проект не работает при попытке подключения к БД, исключение составляет System.NullReferenceException Ссылка на объект не установлена ​​в экземпляр объекта для ConnectionString

Любая помощь с благодарностью.

+0

Вы пытаетесь настроить EF6 или EF Core? Вышеприведенный код выглядит как ASP.NET 4.5/EF6. также вы нацеливаете .NET Core или просто ASP.NET Core на полную .NET Framework? Это огромная разница. .NET Core и .NET Framework - это время автономной работы, ASP.NET Core - это просто веб-стол, который работает на обоих. Однако EF6 работает только на полной платформе .NET Framework – Tseng

ответ

Смежные вопросы