Невозможно записать Юникод (emoji) в таблицу SQL Server через контекст (Entity Framework Core) - PullRequest
0 голосов
/ 27 декабря 2018

В моей базе данных SQL Server есть таблица со столбцом ReviewText типа данных NVARCHAR(MAX).

Если я вставляю или обновляю строки с помощью SQL-запроса с префиксом N'', например:

UPDATE [dbo].[Reviews] 
SET ReviewText = N'It's OK. ?' 
WHERE Id = [id]

он отлично работает, и он будет писать смайлик ? в таблицу.

Но если я вставлю его из кода:

var review = _context.UserReview.FirstOrDefault(x => x.Id == [id]);
review.ReviewText = "It's OK. ?";

, код будет хранить It's OK. ?? без смайлика в столбец.

Как это исправить в коде?

1 Ответ

0 голосов
/ 31 декабря 2018

Я исправил эту проблему.Проблема была в отображении модели объекта.Я изменил

entity.Property(e => e.ReviewText).HasColumnType("text");

на

entity.Property(e => e.ReviewText).HasColumnType("nvarchar(max)"); 

Спасибо всем!

...