2016-11-22 118 views
2

數據庫連接,我掙扎着找到資源,如何設置在ASP.net核心數據庫連接字符串。我已經加入了連接字符串下面的appsettings.json文件:建立在.net中的核心應用

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

但需要找到一種方法,我在通用repositry訪問此連接字符串。這是在一個單獨的項目中找到我的.net核心應用程序,它包含所有數據訪問層的東西。以下是我的通用儲存庫,我試圖獲取連接字符串

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。我已經在我的.net核心項目中引用了這個DAL項目。嘗試連接到數據庫時項目失敗,例外是System.NullReferenceException未將對象引用設置爲對象的實例ConnectionString

任何幫助都非常感謝。

+0

您是否正在嘗試設置EF6或EF Core?上面的代碼看起來像ASP.NET 4.5/EF6。您是否也將.NET Core作爲目標還是僅針對.NET Framework上的ASP.NET Core?它有很大的不同。 .NET Core和.NET Framework是運行時,ASP.NET Core只是一個webstack,它可以在兩者上運行。然而,EF6只能在完整的.NET Framework上運行 – Tseng

回答