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

linq to sql使用lambda连接多个列

linq to sql 使用 lambda 连接多个列需要使用 SelectMany 方法,该方法可以将多个列中的值组合成一个新对象。具体来说,可以使用 SelectMany 方法将多个列中的值映射到一个新的匿名类型,然后使用 Select 方法将匿名类型中的每个字段映射到一个新的对象。

以下是一个示例代码:

代码语言:csharp
复制
var result = from row in dataContext.MyTable
            select new
            {
                Name = row.Name,
                Age = row.Age,
                City = row.City
            };

var result2 = result.SelectMany(x =>
{
    return x.Age > 20
        ? new[]
        {
            x.Name,
            x.Age,
            x.City
        }
        : new[]
        {
            x.Name,
            x.City
        };
});

在上述代码中,首先使用 Select 方法将每个字段映射到一个新的对象,该对象包含 Name、Age 和 City 字段。然后使用 SelectMany 方法将多个列中的值映射到一个新的匿名类型,该匿名类型包含 Name、Age 和 City 字段。在 SelectMany 方法中,使用 lambda 表达式来筛选出需要映射的字段,如果 Age 字段的值大于 20,则将 Name、Age 和 City 字段映射到一个新的匿名类型中,否则将 Name 和 City 字段映射到一个新的匿名类型中。

最终,result2 变量将包含一个 IEnumerable<AnonymousType> 类型的匿名对象,该对象包含 Name、Age 和 City 字段,这些字段来自于原始数据表中 Age 字段的值大于 20 的记录。

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

相关·内容

领券