我有一个带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] set [Name] = @0 where (([Id] = @1)) ',N'@0 varchar(max) ,@1 int',@0='100 ? 200',@1=1
注意数据类型@0
是VARCHAR(MAX)
而不是NVARCHAR(MAX)
。我该如何解决?
更新 请注意,请求中出现了正确的 Unicode 字符。此代码正在拉取模型的字符: