2 Stimmen

Linq-Abfrage Sammlung innerhalb einer Sammlung, aus einer anderen Sammlung

Ich habe etwas Ähnliches wie dieses Modell:

public class Product
{
  public int ID { get; set; }
  public string Name { get; set; }

  public ICollection<ProductVariation> Variations { get; set; }
}

public class ProductVariation
{
  public int VariationID { get; set; }
  public string Size { get; set; }
  public bool InStock { get; set; }
}

Ich habe eine Liste von Produkten - genannt "availableProducts".

List<Product> availableProducts;

Ich habe dann auch eine Liste von int - requestedVariationNumbers:

List<int> requestedVariationNumbers;

Was ich versuche, ist, die Produkte von availableProducts wobei die Sammlung Product.Variations eine VariationID die sich in requestedVariationNumbers .

Bis jetzt habe ich das hier: (Generiert von ReSharper auf der Grundlage einer Reihe von hässlichen foreach-Anweisungen...)

Es scheint mir einfach "schmutzig" zu sein...

    var result = (
      from rvn in requestedVariationNumbers
      from product in availableProducts
      from itemVariation in product.ItemVariations
      where itemVariation.ItemNo == rvn
      select product)
      .ToList();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X