代码之家  ›  专栏  ›  技术社区  ›  Paul Rowland

如何使用列重命名(或列别名)和LINQ执行此SELECT语句?

  •  4
  • Paul Rowland  · 技术社区  · 15 年前

    如何在Linq中获取“anothercolumnname”?

    SELECT thisColumnName as anotherColumnName FROM TableName
    

    我有下面的内容,很明显是“thiscolumnname”而不是“anothercolumnname”

        var query = from names in _context.TableName
                    select names;
        return query.ToList();
    
    3 回复  |  直到 12 年前
        1
  •  8
  •   Ian P    15 年前

    使用匿名类型:

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

    祝你好运!

        2
  •  1
  •   Paul Rowland    15 年前

    @伊恩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
  •  0
  •   JeeShen Lee    12 年前

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