3

列のあるテーブルがありNVARCHARます。Unicode 文字を含むデータをこの列に保存すると、EF はVARCHAR、Unicode 文字が置き換えられたデータを送信しています。

CREATE TABLE MyTable (Id INT IDENTITY, Name NVARCHAR(MAX));

「100 ≠ 200」に設定しようとするとMyTable.Name、SQL プロファイラーで次のように表示されます。

exec sp_executesql N'update [MyTable] set [Name] = @0 where (([Id] = @1)) ',N'@0 varchar(max) ,@1 int',@0='100 ? 200',@1=1

のデータ型がではなく@0isであることに注意してください。これを修正するにはどうすればよいですか?VARCHAR(MAX)NVARCHAR(MAX)

更新 適切な Unicode 文字がリクエストに含まれていることに注意してください。このコードは、モデルのキャラクター our をプルしています。

リクエストで正しい Unicode 文字。

4

0 に答える 0