0

我在通过 LINQ 上的选择列表填充数据网格时遇到了一点问题。问题是,我需要这两个过滤器来获得正确的列表,这些过滤器是:
“ventilador”(PK = cod_ventilador)和“procesador”(PK = cod_procesador)不能存在于“Overclock”(PK = id) 数据库非常简单:两者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()
        ;

}

显然不可能将单曲cod_procesador(PK on Productos)与 codigos 列表进行比较(PK on overclock)。有任何想法吗?

4

1 回答 1

0

您需要使用以下Contains方法:

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

(也就是说,如果我正确理解了您的问题)。

于 2013-07-06T08:42:24.837 回答