C# 如何在实体框架连接字符串中设置转换零日期时间

C# 如何在实体框架连接字符串中设置转换零日期时间,c#,mysql,entity-framework-5,C#,Mysql,Entity Framework 5,我正在尝试使用EntityFramework5连接MySQL数据库。使用app.config提供的连接字符串时,一切正常: <add name="MHEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=MySql.Data.MySqlClient;provider connection string

我正在尝试使用EntityFramework5连接MySQL数据库。使用app.config提供的连接字符串时,一切正常:

<add name="MHEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=server.example.com;user id=username;password=pass;persistsecurityinfo=True;database=dbname;convertzerodatetime=True;characterset=utf8&quot;" providerName="System.Data.EntityClient" />
这就行了。但是,一旦我取消注释上面代码中的一行,我就会得到一个异常:

不支持关键字:“convertzerodatetime”。我尝试了“转换零日期时间”,结果是一样的


我需要这个设置(Convert Zero Datetime=true),因为如果没有它,当应用程序尝试从数据库加载带有所有零的日期时间值时会失败(我无法控制这些值)。

正如错误消息所说,SqlConnectionStringBuilder不支持convertzerodatetime关键字。考虑使用代替.

“转换零时间”在EF 6上工作,你能更新你的库吗?尝试将web.config从“convertzerodatetime=True”更改为“convertzerodatetime=True”

<add name="MHEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=server.example.com;user id=username;password=pass;persistsecurityinfo=True;database=dbname;characterset=utf8;Convert Zero Datetime=True&quot;" providerName="System.Data.EntityClient" />

SqlConnectionStringBuilder
用于MS自己的
SqlConnection
连接,不用于MySQL或其他提供商。您需要为MySQL寻找替代方案。
<add name="MHEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=server.example.com;user id=username;password=pass;persistsecurityinfo=True;database=dbname;characterset=utf8;Convert Zero Datetime=True&quot;" providerName="System.Data.EntityClient" />