2017-02-02 51 views
3

我有asp.net核心庫項目。我想在其中添加連接字符串。我沒有這個啓動課。我需要放置連接字符串以及如何獲取它?asp.net核心庫項目中的連接字符串

請建議。

+0

指出不要連接字符串添加到庫!連接字符串總是添加到應用程序的配置中,永遠不會添加到庫中。這就好比將密碼保存在類庫中一樣,沒有人可以改變它,每個獲得該庫的人都可以讀取它... – Tseng

回答

6

在dotnet核心中,您可以使用json文件來管理配置,這在配置您的應用程序的許多方面是一種。

按照dotnet core configuration documentation,你可以簡單地做(從鏈接引用複製)

using Microsoft.Extensions.Configuration; 
using System; 
using System.IO; 

// Add NuGet <package id="Microsoft.Extensions.Configuration" and 
// <package id="Microsoft.Extensions.Configuration.Json" 
// .NET Framework 4.x use the following path: 
//.SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), @"..\..")) 

public class Program 
{ 
    static public IConfigurationRoot Configuration { get; set; } 
    public static void Main(string[] args = null) 
    { 
     var builder = new ConfigurationBuilder() 
      .SetBasePath(Directory.GetCurrentDirectory()) 
      .AddJsonFile("appsettings.json"); 

     Configuration = builder.Build(); 

     Console.WriteLine($"option1 = {Configuration["option1"]}"); 
     Console.WriteLine($"option2 = {Configuration["option2"]}"); 
     Console.WriteLine(
      $"option1 = {Configuration["subsection:suboption1"]}"); 
    } 
} 

然後在您appsettings.json文件,你可以添加:

{ 
    "ConnectionStrings": { 
     "BloggingDatabase": "Server=(localdb)\\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;" 
    }, 
} 

而且使用訪問它的代碼Configuration.GetConnectionString("BloggingDatabase")

我也可以推薦閱讀dotnet core documentation regarding connection strings

編輯:正如評論員在您的文章中提到的,不要將連接字符串和配置文件添加到您的庫代碼 - 從您的控制檯應用程序或Web應用程序執行此操作!

爲DOTNET核心配置的其他形式包括user secretsenvironment variables也許XML文件或其他形式的存儲,如評論

+0

這並不完全正確。配置系統允許您將設置放置在不同的地方,例如JSON文件,XML文件,環境變量,用戶機密.. – juunas

+1

@juunas你是絕對正確的,謝謝你指出。我已經更新了這個帖子,在這個問題上更加清晰。 – nover

相關問題