Неявное преобразование типа данных nvarchar в varbinary (max) не допускается. Используйте функцию CONVERT для выполнения этого запроса

Следуйте код:

byte[] image1 = ConvertTo.Bytes(Request.Files[0]);
byte[] image2 = null;

ctx
.Users
.Where(x => x.Id == 1)
.Update(x => new User()
{
    ImageByte1 = image1,
    ImageByte2 = image2
});

Определение таблицы:

ImageByte1 varbinary (MAX) Разрешить нули? правда

ImageByte2 varbinary(MAX) Разрешить нули? правда

Я использую это здесь: http://entityframework-plus.net/

Единственная проблема, если я установил ноль в ImageByte2, Следующая ошибка:

Неявное преобразование типа данных nvarchar в varbinary (max) не допускается. Используйте функцию CONVERT для выполнения этого запроса

Теперь его я определяю ImageByte1 а также ImageByte2 как null, он обновляется нормально или ImageByte1 а также ImageByte2 кроме нуля также обновляет.

Любое решение?

1 ответ

Решение

Проблема уже исправлена ​​в самой последней версии.

Nuget: https://www.nuget.org/packages/Z.EntityFramework.Plus.EF6/

Другие вопросы по тегам