我有一个应用程序,它使用EF 5与.NET连接器6.8.3 for mysql和mysql for visual studio 1.1.3我有一个表,其中包含collation utf8的列。问题是,当我调用пешо, пешо
发送的查询时,我的实体具有包含cyrilic字符的属性,例如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()
之前检查了实体,没有任何问题(它们的属性具有cyrilic字符)。
从工作台执行查询
UPDATE `Applicants` SET `Note`='пешо, пешо' WHERE `Id` = 10
也没有问题(我可以在数据库中看到带有cyrilic的注释),当我调用dbContext.Applicants.ToList()
时,我确实得到了具有cyrilic字符的实体。有人可以帮我这个吗?
答案 0 :(得分:2)
因为你使用mysql ...
只需将Charset
配置添加到您的连接字符串:
<add name="Entities" connectionString=".....; Charset=utf8;" providerName="System.Data.EntityClient" />
https://www.connectionstrings.com/mysql-connector-odbc-3-51/specifying-character-set/