在使用linq填充datagrid的位置进行双重条件检查

本文关键字:检查 条件 位置 linq 填充 datagrid | 更新日期: 2023-09-27 18:21:11

我在LINQ上通过选择列表填充数据网格时遇到了一个小问题。问题是,我需要这两个过滤器来获得正确的列表,这些过滤器是:
"Overlock"(PK = id)上不得存在"ventilador"(PK = cod_ventilador)和"processador"(PK = cod_procesador)数据库非常简单:ventiladorprocesador都是产品(Productos),当你使用其中一个(*?)进行超频时,你会添加一个新的超频,它具有两个项目的PK。。。这是我尝试过的代码

{
    var pregunta1 = db.OverClock.Select(x => x.cod_procesador).Distinct().ToList();
    var pregunta2 = db.OverClock.Select(x => x.cod_ventilador).Distinct().ToList();
    dgSinOver.ItemsSource =
        db.Producto
            .Where(x=>x.Procesador!=pregunta1 && x.Ventilador!=pregunta2)
            .Select(x => x.marcar)
            .Distinct()
            .ToList()
        ;
}

显然不可能将单个CCD_ 6与一组编码体CCD_。有什么想法吗?

在使用linq填充datagrid的位置进行双重条件检查

您需要使用Contains方法:

dgSinOver.ItemsSource = db.Producto.Where(x=>!pregunta1.Contains(x.Procesador) && !pregunta2.Contains(x.Ventilador)).Select(x => x.marcar).Distinct().ToList();

(也就是说,如果我理解正确的话)。