我有一个带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 字符。此代码正在拉取模型的字符:
