不允許將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/

如果我將null設置為ImageByte2則只會出現問題。以下錯誤:

不允許將nvarchar數據類型隱式轉換為varbinary(max)。使用CONVERT函數執行此查詢

現在我將ImageByte1ImageByte2定義為null ,它會正常更新,或者ImageByte1和除null ImageByte1 ImageByte2也會更新。

有解決方案嗎

一般承認的答案

使用最新版本已經糾正了該問題。

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





許可下: CC-BY-SA
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因