gpt4 book ai didi

mysql - Ado 实体 : Treat Tiny as Boolean = false

转载 作者:行者123 更新时间:2023-11-29 00:13:42 25 4
gpt4 key购买 nike

我需要将 .net 应用程序连接到 mysql 数据库。当我将表添加到模型时,所有类型为 Tinyint 的列都被映射为 boolean 值。

在 mysql 论坛中搜索后,我在连接字符串中添加了“Treat Tiny As Boolean=false”。当我刷新模型时,没有任何变化。如果我手动将类型更改为 Sbyte 或 Int 16,我会收到以下错误。

Error   43  Error 2019: Member Mapping specified is not valid. The type 'Edm.SByte[Nullable=True,DefaultValue=]' of member 'personacion' in type 'Model.perfiles' is not compatible with 'MySql.usmallint[Nullable=True,DefaultValue=]' of member 'personacion' in type 'Model.Store.perfiles'. C:\Proyectos\StatusXMLGenerator\StatusXMLGenerator\StatusXMLGenerator\Model.edmx    474 17  StatusXMLGenerator
Error 42 Error 2019: Member Mapping specified is not valid. The type 'Edm.Int16[Nullable=False,DefaultValue=]' of member 'id_seccion' in type 'Model.formularios' is not compatible with 'MySql.bool[Nullable=False,DefaultValue=]' of member 'id_seccion' in type 'Model.Store.formularios'. C:\Proyectos\StatusXMLGenerator\StatusXMLGenerator\StatusXMLGenerator\Model.edmx 454 17 StatusXMLGenerator

错误 42 也有一个不正确的映射。它说列的类型是 Mysql.Bool,但在数据库中,我存储了从 1 到 10 的值,所以它应该是 Mysql.usmallint,如错误 43。

这是我的连接字符串:

<add name="ModelContainer" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=**********;user id=*******;password=*****;database=pki_2010;persistsecurityinfo=True;Treat Tiny As Boolean=false;&quot;" providerName="System.Data.EntityClient" />

有什么想法吗?

最佳答案

已解决。

如果有人遇到我的情况,这就是解决方案。

1º 将“Treat Tiny As Boolean=false”添加到连接字符串。

2º构建以刷新连接字符串的新值

3º 以 XML 格式打开模型并将列的值设置为“tinyint”(模式应该类似于:

<edmx><schema><entitycontainer><entitytype><property name="..." type="tinyint">...

4º 使用设计器打开模型并将列映射到 Sbyte

5º 保存并重新构建。

关于mysql - Ado 实体 : Treat Tiny as Boolean = false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23731963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com