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

如何在单个连接中的多个字段上进行LINQ连接

在单个连接中的多个字段上进行LINQ连接,可以使用Join方法和Lambda表达式来实现。以下是一个示例:

代码语言:csharp
复制
using System;
using System.Linq;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<Person> persons = new List<Person>
        {
            new Person { FirstName = "John", LastName = "Doe" },
            new Person { FirstName = "Jane", LastName = "Doe" },
            new Person { FirstName = "John", LastName = "Smith" },
            new Person { FirstName = "Jane", LastName = "Smith" }
        };

        List<Address> addresses = new List<Address>
        {
            new Address { PersonName = "John Doe", Street = "123 Main St" },
            new Address { PersonName = "Jane Doe", Street = "456 Elm St" },
            new Address { PersonName = "John Smith", Street = "789 Oak St" },
            new Address { PersonName = "Jane Smith", Street = "987 Pine St" }
        };

        var query = persons.Join(addresses,
                                person => person.FirstName + " " + person.LastName,
                                address => address.PersonName,
                                (person, address) => new
                                {
                                    FirstName = person.FirstName,
                                    LastName = person.LastName,
                                    Street = address.Street
                                });

        foreach (var item in query)
        {
            Console.WriteLine($"{item.FirstName} {item.LastName} - {item.Street}");
        }
    }
}

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

public class Address
{
    public string PersonName { get; set; }
    public string Street { get; set; }
}

在这个示例中,我们有两个类:PersonAddress。我们使用Join方法将这两个类连接在一起,并使用Lambda表达式来指定如何将PersonAddress对象连接在一起。在这种情况下,我们将Person对象的FirstNameLastName属性连接成一个字符串,并将Address对象的PersonName属性与之匹配。最后,我们从查询中获取结果,并将其输出到控制台。

这种方法可以帮助您在单个连接中的多个字段上进行LINQ连接。

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

相关·内容

7分20秒

鸿怡电子工程师:芯片测试座在半导体测试行业中的关键角色和先进应用解析

16分8秒

Tspider分库分表的部署 - MySQL

领券