EntityFramework ConnectionString utf8

时间:2011-08-26 10:24:40

标签: c# asp.net sql-server sql-server-2008 entity-framework-4

我想为我的Entity Framework数据库应用程序添加utf8支持(sql server 2008 r2)

我想我需要将charset添加到connectionString。

这就是我的connectionString的工作方式(当然是匿名的)

<add name="MyContainer" connectionString="metadata=res://*/MyDatabase.csdl|res://*/MyDatabase.ssdl|res://*/MyDatabase.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=myserver\instancename;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=USERNAME;Password=PASSWORD;MultipleActiveResultSets=True;&quot;" providerName="System.Data.EntityClient" />

我看了一下connectionstrings.com,但我发现没有关于utf8的内容。

我尝试添加charset=utf8,但这并不能解决问题。

 <add name="MyContainer" connectionString="metadata=res://*/MyDatabase.csdl|res://*/MyDatabase.ssdl|res://*/MyDatabase.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=myserver\instancename;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=USERNAME;Password=PASSWORD;MultipleActiveResultSets=True;charset=utf8;&quot;" providerName="System.Data.EntityClient" />

System.Data.EntityException中的结果: {“底层提供程序在ConnectionString上失败。”} {“不支持关键字:'charset'。”}

问题:
 如何在connectionString中将字符集设置为utf8?或者默认启用utf8?

1 个答案:

答案 0 :(得分:3)

unicode的用法由变量或列类型定义。 Charvarchar是非unicode,ncharnvarchar是unicode(UCS-2)。

还有一些排序规则定义了charvarchar列的代码页以及字符串的比较和排序方式。每个数据库都有一个默认排序规则,每个列或变量都可以明确定义其他排序规则。

字符集未通过连接进行配置。