Как использовать 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 касается той же проблемы:

Данные запроса с использованием ключевого слова "Содержит" в 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