linq根据所选项目?

时间:2011-06-16 04:25:18

标签: linq entity-framework properties selected

我是EF和LINQ的新手,希望能在这里得到一些答案。

我正在尝试从列表中搜索组合框中根据selecteditem的条件。 组合框有15个项目(所有位数据类型),但为了示例,我只需将其缩小到2。项目是(无偿,民用)

现在我有一个名为listOfAllNeutrals的列表(对象名称是中性的,具有无偿(位)和民用(位)等属性,我想根据所选项目使用where条件对其进行过滤。

所以如果选择item = 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;

有一种更简单的方法,我不想在可能的情况下使用If条件。

2 个答案:

答案 0 :(得分:0)

您需要使用if或在getpropertyName(中性objNeutral)函数内切换,将所选项目映射到您要评估的属性并对其进行评估。你需要映射object =>财产在某种程度上。

答案 1 :(得分:0)

尝试

var result = from n in listOfAllNeutrals 
             where (selectedItem == proBono && n.probono == true)
             || (selectedItem == civil && n.civil == true)
             select n;