Как да използвам DynamicLinq "съдържа" или "като" с числа?

Опитах това:

.Where("MyColumnID.Contains(@0)", myArray)

Но това, което получих беше:

Не съществува приложим метод „Съдържа“ в тип „Int32“

Някакви други начини? Нещо като SqlMethods.Like, но в DynamicLinq?


person user3244994    schedule 28.01.2014    source източник
comment
какъв тип и стойност на myArray?   -  person Grundy    schedule 14.02.2014


Отговори (2)


Операторът Contains() работи обратното: това е масивът, който съдържа числото, следователно трябва да се чете, както следва:

"@0.Contains(MyColumnID)"

Не съм сигурен обаче дали това дори е възможно в DynamicLinq. Този друг SO въпрос се занимава със същия проблем:

Извършване на заявка за данни с помощта на ключова дума Contains в Dynamic Linq в C#

Предполага, че следното трябва да работи:

int[] CandidateIdsArray = new int[]{4, 78, 101}
var dynamicLinqQuery = 
    Candidates.Where("@0.Contains(CandidateId)", CandidateIdsArray);
person Willem    schedule 28.01.2014

Опитайте тази

.Where("@0.Contains(MyColumnID)", myArray)
person Fatih    schedule 12.09.2020