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)nullを許可しますか?真実

ImageByte2 varbinary(MAX)nullを許可しますか?真実

私はここでこれを使用します: http : //entityframework-plus.net/

ImageByte2 nullを設定した場合のみ問題です。エラーの後:

nvarcharデータ型をvarbinary(max)に暗黙的に変換することはできません。このクエリを実行するには、CONVERT関数を使用します。

今ではImageByte1ImageByte2nullとして定義しています。通常は更新されnull 、null以外のImageByte1ImageByte2も更新されます。

どんな解決策ですか?

受け入れられた回答

問題はすでに最新のバージョンで修正されています。

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





ライセンスを受けた: CC-BY-SA
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ