Ich habe nicht versucht, den Join zu verwenden, aber heute möchte ich eine komplizierte Situation mit Join beheben, ich habe eine Daten, die unten in Beispiel aufgeführt ist. Ich habe auch einen Kommentar abgegeben. Wie wir weiter vorgehen?Join auf Liste der Liste in C#
namespace JoinsApplication
{
class Program
{
static void Main(string[] args)
{
List<Category> categories = new List<Category>()
{
new Category(){Name="Beverages", ID=001,Products =new List<Product>(){new Product{Name="Cola", CategoryID=001},new Product{Name="Tea", CategoryID=001} } },
new Category(){ Name="Condiments", ID=002,Products =new List<Product>(){new Product{Name="Mustard", CategoryID=002},new Product{Name="Pickles", CategoryID=003} } },
new Category(){ Name="Vegetables", ID=003,Products =new List<Product>(){new Product{Name="Carrots", CategoryID=003},new Product{Name="Melons", CategoryID=003} } },
new Category() { Name="Grains", ID=004,Products =new List<Product>(){new Product{Name="Carrots", CategoryID=003},new Product{Name="Melons", CategoryID=003} } },
new Category() { Name="Fruit", ID=005,Products =new List<Product>(){new Product{Name="Peaches", CategoryID=005},new Product{Name="Melons", CategoryID=005} } }
};
//filter data using join, i want to filter data and want a condition on cat.ID and Product.CategoryID, but Products property is not accessible using category alias.
//var u= from cat in categories join product in cat.Products on product.CategoryID equels cat.ID select cat.Name, product.Name;
}
}
#region Join Demonstration data
public class Product
{
public string Name { get; set; }
public int CategoryID { get; set; }
}
public class Category
{
public string Name { get; set; }
public int ID { get; set; }
public List<Product> Products { get; set; }
}
// Specify the first data source.
#endregion
}
Können Sie ein Beispiel für die erwartete ou geben tput? –