我有一个包含NVARCHAR
列的表格。当我将包含Unicode字符的数据保存到此列时,EF正在将数据发送为VARCHAR
,这将替换我的Unicode字符。
CREATE TABLE MyTable (Id INT IDENTITY, Name NVARCHAR(MAX));
我尝试将MyTable.Name
设置为“100≠200”,这是我在SQL事件探查器中找到的内容:
exec sp_executesql N'update [MyTable] set [Name] = @ 0 where(([Id] = @ 1)) ',N'@ 0 varchar(max),@ 1 int',@ 0 ='100? 200' ,@ 1 = 1
请注意@0
的数据类型为VARCHAR(MAX)
而不是NVARCHAR(MAX)
。我该如何解决这个问题?
更新 请注意,请求中会出现正确的Unicode字符。这段代码正在拉动我们的模型: