linq, где в соответствии с выбранным пунктом? - PullRequest
1 голос
/ 16 июня 2011

Я новичок в EF и LINQ, надеюсь получить ответы на некоторые вопросы здесь.

Я пытаюсь найти из списка, где условие, которое соответствует выбранному элементу из выпадающего списка. У выпадающего списка есть 15 элементов (все битовые типы данных), но позвольте мне сузить его до 2 для примера. предметы (pro bono, in)

Теперь у меня есть список под названием listOfAllNeutrals (имя объекта - Neutral со свойствами, такими как pro bono (бит) и civil (бит), и я хочу отфильтровать его, используя условие where согласно выбранному элементу.

поэтому, если выбранный элемент = pro bono, linq будет выглядеть так:

var result = from n in listOfAllNeutrals 
             where n.probono==true 
             select n;

но мой вопрос в том, как мне узнать, что n.property должно соответствовать выбранному элементу? как это:

var result = from n in listOfAllNeutrals 
             where getpropertyName==true 
             select n;

есть более простой способ, я не хочу использовать условия, если это возможно.

Ответы [ 2 ]

0 голосов
/ 16 июня 2011

Попробуйте

var result = from n in listOfAllNeutrals 
             where (selectedItem == proBono && n.probono == true)
             || (selectedItem == civil && n.civil == true)
             select n;
0 голосов
/ 16 июня 2011

Вам нужно использовать if или переключаться внутри функции getpropertyName (Neutral objNeutral), чтобы сопоставить выбранный элемент со свойством, которое вы хотите оценить, и оценить его. Вам нужно каким-то образом отобразить свойство object =>.

...