C#Entity Framework创建mysql数据库中报错: System.ArgumentException:“不支持关键字: “port”

  • A+
所属分类:.NET技术
摘要

  最近写winform程序时候,由于并不经常写.net程序,遇到一个问题,我开发的语言用的是C#,开发工具VS,但是用EF框架创建mysql数据库的时候,遇到一个问题,连接字符串的时候,报错

  最近写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 {     // ... }