带有EF的西里尔字母问题
本文关键字:问题 EF 带有 | 更新日期: 2023-09-27 17:58:48
我有一个应用程序,它对mysql使用带有.NET连接器6.8.3的EF 5,对visual studio 1.1.3使用带有排序规则utf8的colloms的表。问题是,当我的实体具有带有循环字符(如пешо, пешо
)的属性时,当我调用dbContext.SaveChanges()
时,发送的查询是:
140417 11:20:59 23 Init DB applicantsdb
23 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
23 Query BEGIN
23 Query UPDATE `Applicants` SET `Note`='????, ????' WHERE `Id` = 10
23 Query COMMIT
我仔细检查了实体,就在SaveChanges()
之前,没有问题(它们的属性带有循环字符)。
从工作台执行查询
UPDATE `Applicants` SET `Note`='пешо, пешо' WHERE `Id` = 10
同样没有问题(我可以在数据库中看到带有cyrilic的注释),当我调用dbContext.Applicants.ToList()
时,我确实得到了带有cyrilac字符的实体。有人能帮我吗?
由于您使用mysql。。。
只需将Charset
配置添加到您的连接字符串:
<add name="Entities" connectionString=".....; Charset=utf8;" providerName="System.Data.EntityClient" />
https://www.connectionstrings.com/mysql-connector-odbc-3-51/specifying-character-set/