在LINQ中,您可以使用Where
子句在子表上创建where
条件。以下是一个示例,展示了如何在LINQ中的子表上创建where
条件:
using System;
using System.Linq;
using System.Collections.Generic;
class Parent
{
public int Id { get; set; }
public List<Child> Children { get; set; }
}
class Child
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<Parent> parents = new List<Parent>
{
new Parent
{
Id = 1,
Children = new List<Child>
{
new Child { Id = 1, Name = "John", Age = 10 },
new Child { Id = 2, Name = "Jane", Age = 12 },
}
},
new Parent
{
Id = 2,
Children = new List<Child>
{
new Child { Id = 3, Name = "Tom", Age = 8 },
new Child { Id = 4, Name = "Mary", Age = 14 },
}
}
};
var result = parents.Select(parent => new
{
ParentId = parent.Id,
Children = parent.Children.Where(child => child.Age > 10).ToList()
}).Where(parent => parent.Children.Count > 0);
foreach (var parent in result)
{
Console.WriteLine($"Parent ID: {parent.ParentId}");
foreach (var child in parent.Children)
{
Console.WriteLine($"Child ID: {child.Id}, Name: {child.Name}, Age: {child.Age}");
}
}
}
}
在这个示例中,我们首先创建了一个Parent
和Child
类的列表。然后,我们使用LINQ查询在子表上创建了一个where
条件,该条件仅选择年龄大于10的子项。最后,我们遍历结果并将其打印到控制台。
这个示例展示了如何在LINQ中的子表上创建where
条件,以便您可以根据特定条件筛选数据。
领取专属 10元无门槛券
手把手带您无忧上云