如何使用LINQ使用列重命名(或列别名)的SELECT语句?

时间:2009-02-16 23:38:07

标签: linq

如何在LINQ中获取'anotherColumnName'?

SELECT thisColumnName as anotherColumnName FROM TableName

我有以下显然给我'thisColumnName'而不是'anotherColumnName'

    var query = from names in _context.TableName
                select names;
    return query.ToList();

3 个答案:

答案 0 :(得分:8)

使用匿名类型:

var query = (from name in _context.Table
            select new { anotherColumnName = name.ColumnName });
祝你好运!

答案 1 :(得分:1)

@Ian P - 感谢您的回答。

对于完成的解决方案,我还需要额外的一点如下......

旧版本。

public List<OldClassName> GetSomething()
{
    var query = from names in _context.OldClassNames
                select names;

    return query.ToList();
}

带列重命名的新版本。

public List<NewClassName> GetSomething()
{
    var query = from names in _context.OldClassNames
                select new NewClassName
                {
                    NewColumName = names.OldColumnName
                };
    return query.ToList();
}

答案 2 :(得分:0)

如果您使用变量来存储列名,则可以考虑使用Dynamic LINQ。 Dynamic LINQ