首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在LINQ中的子表上创建where条件

在LINQ中,您可以使用Where子句在子表上创建where条件。以下是一个示例,展示了如何在LINQ中的子表上创建where条件:

代码语言:csharp
复制
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}");
            }
        }
    }
}

在这个示例中,我们首先创建了一个ParentChild类的列表。然后,我们使用LINQ查询在子表上创建了一个where条件,该条件仅选择年龄大于10的子项。最后,我们遍历结果并将其打印到控制台。

这个示例展示了如何在LINQ中的子表上创建where条件,以便您可以根据特定条件筛选数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券