Ваш запрос Linq переводится в SQL, а затем выполняется в базе данных. Но для collection["Code"]
нет эквивалента SQL, поэтому запрос не может быть переведен в SQL, поэтому возникает ошибка. В этом случае исправить несложно: просто поместите результат collection["Code"]
в локальную переменную вне запроса.
string code = collection["Code"];
if (getVoucher.Any(r => r.Code == code))
{
ModelState.AddModelError("Code", "Code Already Exists");
}