3

我有一个带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

注意数据类型@0VARCHAR(MAX)而不是NVARCHAR(MAX)。我该如何解决?

更新 请注意,请求中出现了正确的 Unicode 字符。此代码正在拉取模型的字符:

请求中的 Unicode 字符正确。

4

0 回答 0