0

LINQ の選択リストを介してデータグリッドを設定するのに少し問題があります。問題は、正しいリストを取得するためにこれら 2 つのフィルターが必要であり、それらのフィルターは次のとおりです。
「ventilador」(PK = cod_ventilador)と「procesador」(PK = cod_procesador)が「Overclock」に存在してはならないということ(PK = id) です。データベースは非常に単純です。両方ともventilador製品procesador(Productos) であり、それぞれの 1 つを使用してオーバークロックを行います (*?) 両方のアイテムの 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)シングルをコディゴのリストと比較することは明らかに不可能です(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 に答える