Follow the code below:
var file = Request.Files;
var list = new List<byte[]>();
for (int i = 0; i < 4; i++)
{
if (file.Count > i)
{
list.Add(ConvertTo.Bytes(file[i]));
continue;
}
list.Add(null);
}
int count = ctx.Database.ExecuteSqlCommand(
$"UPDATE dbo.Table " +
$"SET Imagem1 = @imagem1, Imagem2 = @imagem2, Imagem3 = @imagem3, Imagem4 = @imagem4 " +
$"WHERE id = {Id}",
new SqlParameter("imagem1", list[0] ?? null),
new SqlParameter("imagem2", list[1] ?? null),
new SqlParameter("imagem3", list[2] ?? null),
new SqlParameter("imagem4", list[3] ?? null));
Error:
Parameterized query '(@ image1 varbinary (max), @ image2 nvarchar (4000), @ image3 nvarc 'expects the parameter' @ image2 ', which does not was provided.
This error happens when the user chooses only one image.
Any solution?