我使用Entity Framework 4和MySQL connector 6.3.6时遇到了问题。我已将MySQL数据库设置为utf8-default排序规则以在我的网站上使用Unicode。问题是,当我尝试使用实体框架4保存Unicode字符串时,它会在我的数据库中放置问号。我甚至从Visual Studio设计器中设置了Unicode属性,但没有用。我是否遗漏了什么或者需要完成一些任务才能使实体框架写入Unicode到数据库中?
经过大量的研究后,发现MySQL连接器6.3.6有一个连接字符串参数"charset=utf8",您需要将其添加到您的连接字符串中。
<connectionStrings>
<add name="con" connectionString="server=localhost;Uid=root;password=;database=webpro;charset=utf8 " />
</connectionStrings>
modelBuilder.Entity<Center>()
.Property(e => e.CenterCode)
.IsUnicode(true);
让我们来欣赏这个技巧。