[英]Exception: System.ArgumentException: Keyword not supported: 'initial catalog' when hard coding connection string to dbcontext
[英]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.