Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linq根据所选项目在哪里?_Linq_Entity Framework_Properties_Selected - Fatal编程技术网

linq根据所选项目在哪里?

linq根据所选项目在哪里?,linq,entity-framework,properties,selected,Linq,Entity Framework,Properties,Selected,我是EF和LINQ的新手,希望能在这里得到一些答案 我试图从列表中搜索,其中的条件是根据组合框中的selecteditem。 combobox有15项所有位的数据类型,但为了便于示例,让我将其缩小为2项。这些物品都是无偿的、民事的 现在,我有一个名为listOfAllNeutrals的列表,对象名是中立的,具有诸如pro-bono位和civilbit等属性,我想根据所选项目使用where条件对其进行过滤 因此,如果selected item=pro-bono,linq将如下所示 var resu

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

我试图从列表中搜索,其中的条件是根据组合框中的selecteditem。 combobox有15项所有位的数据类型,但为了便于示例,让我将其缩小为2项。这些物品都是无偿的、民事的

现在,我有一个名为listOfAllNeutrals的列表,对象名是中立的,具有诸如pro-bono位和civilbit等属性,我想根据所选项目使用where条件对其进行过滤

因此,如果selected item=pro-bono,linq将如下所示

var result = from n in listOfAllNeutrals 
             where n.probono==true 
             select n;
但我的问题是,如何判断n.属性应符合selecteditem? 像这样:

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

有没有一种更简单的方法,如果可能的话,我不想使用If条件。

您需要在getPropertyNameEural objNeutral函数中使用If或switch来将所选项映射到要计算的属性并对其进行计算。您需要以某种方式映射object=>属性。

试试看

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

这没关系,但我不想这样做,因为这就像selecteditem是probon一样,其中n.probo。我提出了如下解决方案,其中我使用关键字accrdg直接从数据库获取列表,以选择项资格子类型NeutralFileMaintList=FileMaintenanceBusiness.Instance.GetManyNeutralFileMaintInfobyKeywordtrue,QualificationSubType;好的,我刚刚重读了这个问题,我看到组合框中有15个项目,所以我的解决方案肯定不是一个优雅的解决方案。但让我问你,表中有15列,每一项一列?你确定这是最好的解决方案吗?你是否考虑过在一个专栏中这样做?这将使这个查询更加简单,并且您仍然可以为类创建属性,以便其余代码能够编译和工作。查看滚动到名为枚举类型作为位标志的部分的一个简单示例感谢您的建议,但我认为最好将这些列作为列,因为它将在整个系统中经常使用,并且这是每个案例数千个法律案例,而不仅仅像链接中的示例那样进行分类: