AspNetUserClaims.ClaimValue
равно nvarchar(max)
@countryCode
равно varbinary(2)
AlwaysEncrypted - это шифрование на стороне клиента. Таким образом, зашифрованное значение параметра должно соответствовать точно зашифрованному значению столбца. Следовательно, не может быть неявных преобразований на стороне сервера для сравнения, и типы данных должны точно совпадать.
Таким образом, вам также необходимо объявить параметр как nvarchar(max)
. Например,
var countryCode = new SqlParameter("@countryCode", SqlDbType.NVarChar,-1);
countryCode.Value = dto.Country;