Entity framework EF不保存Unicode字符

Entity framework EF不保存Unicode字符,entity-framework,encoding,unicode,Entity Framework,Encoding,Unicode,我有一个带有NVARCHAR列的表。当我将包含Unicode字符的数据保存到此列时,EF将以VARCHAR的形式发送数据,其中许多我的Unicode字符将被替换 CREATE TABLE MyTable (Id INT IDENTITY, Name NVARCHAR(MAX)); 我尝试将MyTable.Name设置为“100”≠ 200“以下是我在SQL Profiler中找到的内容: exec sp_executesql N'update[MyTable]集合[Name]=@0其中(([I

我有一个带有
NVARCHAR
列的表。当我将包含Unicode字符的数据保存到此列时,EF将以
VARCHAR
的形式发送数据,其中许多我的Unicode字符将被替换

CREATE TABLE MyTable (Id INT IDENTITY, Name NVARCHAR(MAX));
我尝试将
MyTable.Name
设置为“100”≠ 200“以下是我在SQL Profiler中找到的内容:

exec sp_executesql N'update[MyTable]集合[Name]=@0其中(([Id]=@1)) 'N'@0 varchar(最大值),@1 int',@0='100?200',@1=1

请注意,
@0
的数据类型是
VARCHAR(MAX)
,而不是
NVARCHAR(MAX)
。我该如何解决这个问题

更新 请注意,请求中使用了正确的Unicode字符。此代码正在提取模型的特征:


Web.config
标签中的
responseEncoding
requestEncoding
属性值是多少?@FabioS-我根本没有
全球化
元素,我的页面编码设置为UTF-8。但是请求中肯定有正确的Unicode字符,请检查我将要添加的屏幕截图……也许这个链接可以帮助您:我可以看到EF对象上设置的Unicode字符。最糟糕的是EF生成SQL来执行更新。你检查排序规则了吗?因为我的处境让我无法找回土耳其语字母“Ş”。更正排序规则后,我得到了预期的结果。