【问题标题】:Return Multiple Columns in Linq to Sql?将Linq中的多列返回到Sql?
【发布时间】:2009-12-11 10:56:45
【问题描述】:

如何在 C# 中使用 linq to sql 返回多列?

我试图用

结束我的查询
select new { A.Product, A.Qty };

但这会返回一些匿名类型,我不知道该怎么处理它,如何返回它以及如何从中提取信息。我想把它放在某种数组中。

谢谢

【问题讨论】:

    标签: c# .net linq-to-sql


    【解决方案1】:

    您是否尝试从方法中返回数据?

    如果是这样,您应该以select A 结束查询,这将产生与A 相同的类型。

    如果没有,您可以像使用常规类型一样使用匿名类型。

    例如:

    var results = from ... select new { A.Product, A.Qty };
    
    foreach(var thing in results) {
        Console.WriteLine("{0}: {1}", thing.Product, Thing.Qty);
    }
    

    编辑:要使其成为列表,请调用 ToList,如下所示:

    var resultsList = results.ToList();
    

    【讨论】:

    • 对不起,我可能不太清楚。我只是那两列。我想也许可以做一个查询来获取这些列并将其放入列表中。
    • 您能否澄清一下您所说的“您应该只使用选择 A 结束查询,这将产生与 A 相同的类型”?
    • @LoveDotNet:你不明白哪一部分?
    • 出于性能原因,我只想查询选定的列,但从方法返回原始类型。由于这会产生匿名类型,因此我无法返回它。您的评论听起来像是解决此问题的方法。是吗?
    • @LoveDotNet:那你可以写select new SomeType { X = a.X, Y = a.Y }
    【解决方案2】:

    在查询中调用 tolist()

    【讨论】:

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