最近寫winform程序時候,由於並不經常寫.net程序,遇到一個問題,我開發的語言用的是C#,開發工具VS,但是用EF框架創建mysql數據庫的時候,遇到一個問題,連接字符串的時候,報錯
System.ArgumentException:“不支持關鍵字: “port”。”
找到了有三種解決方案,我采取的是第三種,親測可用:
第一:更改defaultConnectionFactory
配置:
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6"></defaultConnectionFactory>
第二種:使用命名配置連接字符串並明確指定提供者:
<connectionStrings>
<add name="XXDB" providerName="MySql.Data.MySqlClient" connectionString="server=myservername;port=3306;uid=myaccount;database=mydb;pwd=mypwd123" />
</connectionStrings>
並且更改構造函數
public XXDB()
{
// ...
}
第三種:
使用DbConfigurationTypeAttribute
:
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
public class XXDB : DbContext
{
// ...
}