【问题标题】:LINQtoSQL: Query to return List<String>LINQ to SQL:查询返回 List<String>
【发布时间】:2010-03-23 18:29:06
【问题描述】:

我有一个 LINQ 查询,它返回一些像这样的对象...

var query = from c in db.Customers
            where ...
            select c;

然后我这样做

    List<String> list = new List<String>();
    foreach (ProgramLanguage c in query)
    {
        //GetUL returns a String
        list.Add(GetUL(c.Property,c.Property2));
    }

有没有办法把这个组合成一些东西?

var query = from c in db.Customers
        where ...
         select new
         {
            GetUL(c.Property,c.Property2)
         }).ToList<String>();

【问题讨论】:

    标签: linq linq-to-sql


    【解决方案1】:

    这个查询应该一举完成这两个步骤。

    var list = db.Customers.Where(c => ...).
                        Select(c => GetUL(c.Property,c.Property2)).ToList()
    

    *注意,与其他版本相比,我更喜欢这种 LINQ 语法。

    【讨论】:

      【解决方案2】:
      var query = db.Customers.Where(c => ...)
          .Select(c => GetUL(c.Property, c.Property2))
          .ToList();
      

      如果您愿意,也可以使用查询语法

      var query = (from c in db.Customers
                  where ...
                  select GetUL(c.Property, c.Property2)).ToList();
      

      【讨论】:

      • 这就是我正在寻找的 Select Method(...) 没想到我能做到。
      【解决方案3】:
      var slist = (from c in db.Customers
          where ...
           select new
           {
              GetUL(c.Property,c.Property2)
           }).ToList();
      

      另外,如果您还没有,我强烈建议您下载并使用LinqPad。这是一个杀手级的小应用程序,可让您试验 linq 查询(还有更多!)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多