Динамическое условие Где в синтаксической ошибке LINQ - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь создать динамическое предложение WHERE в своем операторе LINQ, однако я столкнулся с некоторыми проблемами.

На данный момент у меня есть следующее: -

string[] types = typeId[0].Split(','); //contains string array like {"1,2,3"}
marketing = marketing.Where( type => types.Contains(type.TypeID)).ToList();

Может кто-нибудь сказать мне правильный синтаксис для достижения этого?

Спасибо

1 Ответ

0 голосов
/ 28 августа 2018

Из вашего сообщения об ошибке type.TypeID является int.

Таким образом, у вас есть 2 варианта:

Вариант 1: преобразовать types в int[]:

int[] types = typeId[0].Split(',').Select(id => int.Parse(id)).ToArray();
marketing = marketing.Where( type => types.Contains(type.TypeID)).ToList();

Вариант 2: преобразовать type.TypeID в string:

string[] types = typeId[0].Split(',');
marketing = marketing.Where( type => types.Contains(type.TypeID.ToString())).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...