La conversion implicite du type de données nvarchar en varbinary (max) n'est pas autorisée. Utilisez la fonction CONVERT pour effectuer cette requête


Question

Suivez le code:

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
});

Définition du tableau:

ImageByte1 varbinary (MAX) Autorise les valeurs NULL? vrai

ImageByte2 varbinary (MAX) Autorise les valeurs NULL? vrai

J'utilise celui-ci ici: http://entityframework-plus.net/

Seul problème si je mets null à ImageByte2 . Erreur suivante:

La conversion implicite du type de données nvarchar en varbinary (max) n'est pas autorisée. Utilisez la fonction CONVERT pour effectuer cette requête

Maintenant, je définis ImageByte1 et ImageByte2 comme null , il se met à jour normalement ou ImageByte1 et ImageByte2 autres que null se met également à jour.

Toute solution ?

Réponse acceptée

Le problème a déjà été corrigé avec la version la plus récente.

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





Sous licence: CC-BY-SA
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi