Мне нужна помощь в создании запроса linq, который выберет список объектов Product. Каждый объект продукта содержит список ProductItem. То, что я не уверен, как это сделать, это как создать список Product.ProductItems. Может кто-нибудь дать мне руку. Вот Product, ProductItem и пример структуры xml, с которой я играю.
Вот пример направления, в котором я шел:
XDocument xDocument = XDocument.Load("../Content/index.xml");
return xDocument.Descendants("item")
.Select(arg =>
new Product
{
Name = arg.Parent.Attribute("name").Value,
ProductItems = new ProductItem{//set properties for PI} // This is where Im stuck.
})
.ToList();
}
Я пытаюсь отточить свои навыки linq / lambda, чтобы вы могли привести пример с использованием синтаксиса лямбда, и я был бы признателен за это!
Спасибо за тонну.
public class Product
{
public string Name { get; set; }
public IList<ProductItem> ProductItems { get; set; }
}
public class ProductItem
{
public string Hwid { get; set; }
public string Href { get; set; }
public string Localization { get; set; }
public DateTime BuildDateTime { get; set; }
public string IcpBuildVersion { get; set; }
}
}
<products>
<product name="Product1">
<item hwid="abk9184">
<href>Product1/abk9184_en-us/abk9184.html</href>
<localization>en-us</localization>
<build.start>2011-06-08 22:02 PM</build.start>
<build.icp>9.0.192.32</build.icp>
</item>
<item hwid="abk9185">
<href>LearningModules/abk9185_en-us/abk9185.html</href>
<localization>en-us</localization>
<build.start>2011-06-08 22:03 PM</build.start>
<build.icp>9.0.192.32</build.icp>
</item>
</product>
<product name="Product2">
<item hwid="aa6410">
<href>Product2/aa6410_en-us/aa6410.html</href>
<localization>en-us</localization>
<build.start>2011-06-08 22:04 PM</build.start>
<build.icp>9.0.192.32</build.icp>
</item>
<item hwid="tu6488">
<href>Product2/tu6488_en-us/tu6488.html</href>
<localization>en-us</localization>
<build.start>2011-06-08 22:04 PM</build.start>
<build.icp>9.0.192.32</build.icp>
</item>