Linq从select列中获取所有字段以及动态列

时间:2011-12-13 15:36:43

标签: linq

我有这样的Linq,我想从Orders表中获取所有记录并添加新的动态字段。下面的代码不起作用。什么是正确的语法?

user.dcOrders.Select(p =>p, new { FullName = p.FirstName + " " + p.LastName })

2 个答案:

答案 0 :(得分:3)

您需要列出所有列。

或者,您可以向任何类dcOrders添加新属性。它应该指定为partial class,以便您可以将FullName属性添加到新文件中,以便在重新生成.designer.cs文件时不会覆盖它。

类似

public partial class Orders
{
    public string FullName { get { return this.FirstName + " " + this.LastName; } }
}

请务必将其添加到不是.designer.cs文件的单独文件中。 (我在这里假设LINQ to SQL。)

然后您不需要进行任何特殊选择,因为FullName已经作为对象的属性存在。你可以直接使用它。

答案 1 :(得分:1)

试试这个:

var names = user.dcOrders.Select(p => new { 
                                              User = p,
                                              FullName = p.FirstName + " " + p.LastName 
                                          });