Всегда зашифрованный операнд Clash In Query

Недавно я начал использовать Always Encrypted with SQL Server 2016 для шифрования конфиденциальной информации.

По большей части все было гладко в отношении плавного перехода.

Одна вещь возникла, хотя, следующая ошибка -

Столкновение с типом операнда: nvarchar(255), зашифрованный с помощью (encryption_type = 'RANDOMIZED', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'CEK_AutoK2', столбец_объявления_объявления_объекта_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_приложения_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_объявления_области_имя_обозначения_обозначения_объявления)

Метод, который вызывает это исключение, следующий:

public ActionResult GetStaffList(string term)
    {

        var staffs = from e in db.Staffs
                        where e.FirstName.Contains(term) || e.LastName.Contains(term)
                        && e.EmploymentStatus == "Active"
                        select new
                        {
                            label = e.FirstName + " " + e.LastName,
                            id = e.Id
                        };


        return (Json(staffs, JsonRequestBehavior.AllowGet));
    }

Но, если я изменю метод, к этому

public ActionResult GetStaffList(string term)
        {

            var staffSearch= db.Staffs
                             .ToList()
                             .Where(e => e.FirstName.Contains(term) || e.LastName.Contains(term))
                             .Where(e => e.EmploymentStatus == "Active");

            var staffs = from e in staffSearch
                            select new
                            {
                                label = e.FirstName + " " + e.LastName,
                                id = e.Id
                            };


            return (Json(staffs, JsonRequestBehavior.AllowGet));
        }

Это не выдает ошибку.

В любом случае можно ли объединить две переменные запроса в одну переменную, убедившись, что данные возвращаются в виде JSON со следующим блоком:

select new
                            {
                                label = e.FirstName + " " + e.LastName,
                                id = e.Id
                            }

Кроме того, я не могу понять, что при запросе "from e....." он выдает ошибку, а при запросе "db.Staff ..." - нет.

0 ответов

Другие вопросы по тегам