【发布时间】:2011-09-13 21:10:07
【问题描述】:
我有类似这个模型的东西:
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; }
}
我有一个产品列表 - 称为“availableProducts”
List<Product> availableProducts;
然后我还有一个 int 列表 - requestedVariationNumbers:
List<int> requestedVariationNumbers;
我要做的是从 availableProducts 获取产品,其中 Product.Variations 集合包含 requestedVariationNumbers 中的 VariationID。
到目前为止,我得到了这个: (由 ReSharper 基于一系列丑陋的 foreach 语句生成...)
这对我来说似乎很“脏”...
var result = (
from rvn in requestedVariationNumbers
from product in availableProducts
from itemVariation in product.ItemVariations
where itemVariation.ItemNo == rvn
select product)
.ToList();
【问题讨论】: