簡體   English   中英

EF6 將連接字符串傳遞給 DbContext:System.ArgumentException:'不支持關鍵字:'provider'。

[英]EF6 Passing Connection String to DbContext: System.ArgumentException: 'Keyword not supported: 'provider'.'

我正在嘗試通過它的構造函數將連接字符串傳遞給 DbContext class 但我不斷收到此異常。 System.ArgumentException: 'Keyword not supported: 'provider'.'

基於其他stackoverflow帖子,我以這種方式獲取連接字符串。

public string GetConnection()
{
    SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder();
    sqlBuilder.DataSource = "DataSource";
    sqlBuilder.InitialCatalog = "InitialCatalog";
    sqlBuilder.UserID = "UserID";
    sqlBuilder.Password = "Password";

    EntityConnectionStringBuilder entityString = new EntityConnectionStringBuilder()
    {
        Provider = "System.Data.SqlClient",
        ProviderConnectionString = sqlBuilder.ToString()
    };

    return entityString.ConnectionString;
}

這是生成的(實際憑據替換為虛擬數據)

provider=System.Data.SqlClient;provider connection string="Data Source=DataSource;Initial Catalog=InitialCatalog;User ID=UserID;Password=Password"

這是 DBContext class 構造函數

    public CustomerContext(string connectionString) : base(connectionString)
    {

    }

對於任何可能遇到此錯誤的人。 結果我必須在所有要引用我的存儲庫 dll 的項目上安裝 EF6 包。

在所有需要它的項目上安裝軟件包后,我只傳遞了連接字符串。 沒有任何特殊格式或提供提供者信息。

Data Source=DataSource;Initial Catalog=InitialCatalog;User ID=UserID;Password=Password

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM