【问题标题】:How do I do this SELECT statement that uses column renaming (or column alias) with LINQ?如何使用 LINQ 执行此使用列重命名(或列别名)的 SELECT 语句?
【发布时间】:2009-02-16 23:38:07
【问题描述】:

如何在 LINQ 中获取“anotherColumnName”?

SELECT thisColumnName as anotherColumnName FROM TableName

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

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

【问题讨论】:

    标签: linq


    【解决方案1】:

    使用匿名类型:

    var query = (from name in _context.Table
                select new { anotherColumnName = name.ColumnName });
    

    祝你好运!

    【讨论】:

    【解决方案2】:

    @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();
    }
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2022-09-27
        • 2012-02-13
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        • 1970-01-01
        • 1970-01-01
        • 2018-07-18
        • 1970-01-01
        相关资源
        最近更新 更多