我是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条件。
答案 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;