【问题标题】:entity framework 4 unicode problem saving实体框架4 unicode问题保存
【发布时间】:2020-10-12 15:53:51
【问题描述】:
我在使用带有 MySQL 连接器 6.3.6 的 Entity Framework 4 时遇到问题。我已将 MySQL dabase 设置为 utf8 - 默认排序规则以在我的网站上使用 unicode。问题是当我尝试使用实体框架 4 保存 unicode 字符串时,我可以从数据库中将 unicode 读取到我的网站,它会在我的数据库上放置问号。我什至从 Visual Studio 设计器中设置了 Unicode 属性,但无济于事。我是否遗漏了什么,或者您必须做些什么才能使实体框架将 unicode 写入数据库?
【问题讨论】:
标签:
asp.net
mysql
asp.net-mvc
entity-framework-4
【解决方案1】:
好的,经过大量研究后发现 MySQL 连接器 6.3.6 有一个连接字符串参数 'charset=utf8'。您需要将其添加到您的连接字符串中。
【解决方案2】:
在 Web.config 文件中使用 'charset=utf8' 创建连接字符串
<connectionStrings>
<add name="con" connectionString="server=localhost;Uid=root;password=;database=webpro;charset=utf8 " />
</connectionStrings>
【解决方案3】:
在我的情况下,不知何故 unicode 配置在上下文中被禁用,这里的解决方案是为 .IsUnicode(true) 而不是 .IsUnicode(false) 设置 true 值
modelBuilder.Entity<Center>()
.Property(e => e.CenterCode)
.IsUnicode(true);
让我们享受这个技巧吧。