Содержит (), как реверсировать с помощью лямбда

У меня есть эти 4 флажка, которые составляют строковые переменные saljes, kopes, bytes, erbjudes. Когда они проверены, они получают значение «включено».

Из этого я составил строковую переменную (p ), содержащую все числа, которые я хочу включить в оператор LINQ -. Скажем, если все флажки отмечены, я получил бы строку «1234», а если отмечены только флажки 2 и 4, это приведет к «24».

В моей базе данных есть поле под названием «Тип», имеющее тип int.Я хочу, чтобы база данных включала все строки, имеющие значение «Тип», которое можно найти в строке p.

Что-то вроде этого (Конечно, мой код не работает, поэтому мне нужны вы, ребята.):

        var searchResult = from s in db.Ads select s;
        string p = "1";

        if (saljes != "on")
            p = p.Replace("1", "");
        if (kopes == "on")
            p += "2";
        if (bytes == "on")
            p += "3";
        if (erbjudes == "on")
            p += "4";

        searchResult = searchResult.Where(s => p.Contains(s => s.Type.ToString());

Что мне нужно сделать, так это перевернуть Содержимое (), но как?

6
задан Daniel Mann 25 April 2012 в 13:26
поделиться