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();