在使用linq填充datagrid的位置进行双重条件检查
本文关键字:检查 条件 位置 linq 填充 datagrid | 更新日期: 2023-09-27 18:21:11
我在LINQ上通过选择列表填充数据网格时遇到了一个小问题。问题是,我需要这两个过滤器来获得正确的列表,这些过滤器是:
"Overlock"(PK = id)
上不得存在"ventilador"(PK = cod_ventilador)
和"processador"(PK = cod_procesador)
数据库非常简单:ventilador
和procesador
都是产品(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_。有什么想法吗?
您需要使用Contains
方法:
dgSinOver.ItemsSource = db.Producto.Where(x=>!pregunta1.Contains(x.Procesador) && !pregunta2.Contains(x.Ventilador)).Select(x => x.marcar).Distinct().ToList();
(也就是说,如果我理解正确的话)。