繁体   English   中英

Linq查询如何选择所有列

[英]Linq query how to select all columns

我有一个linq查询,它给了我想要的输出:

 var data = (from c in dtskip.AsEnumerable()
                        select new[]  { 
                         c.Field<string>("Suburb"), c.Field<string>("Postcode"), c.Field<string>("State"),c.Field<string>("ID"), c.Field<string>("SEARCHKEY"), c.Field<string>("RATING"), c.Field<string>("DELIVERY")
                       });

如何选择所有列而不是像c.field<string>("postcode")那样给出名称。我的输出是仅来自数据表dtskip的数据:

输出:

["DARWIN","0800","NT","2","DARWINNT","A","Delivery Area"]
,["ALAWA","0810","NT","5","ALAWANT","A","Delivery Area"],
["BRINKIN","0810","NT","6","BRINKINNT","A","Delivery Area"],

有没有其他方法我可以使用linq查询从数据表中获取输出。

你有没有尝试过

var data = (From c in dtskip
            select c).AsEnumerable(); //Not sure about the AsEnumerable :s

DataRow包含一个ItemArray成员,该成员将该行中的所有数据作为数组返回,缺点是它们都作为object返回,但如果所有列都是相同类型,则可以将ItemArray转换为所需类型(在此案例string

dtskip.Rows.Cast<DataRow>().Select(r => r.ItemArray.Cast<string>());

这将为您提供一个IEnumerable<IEnumerable<string>>

你在找这样的东西吗?

var data = dtskip.AsEnumerable().
            Select(x => new 
                   { 
                              Suburb = x.Field<string>("Suburb"),
                              Postcode= x.Field<string>("Postcode"),
                              State= x.Field<string>("State"),
                              Id= x.Field<string>("ID"),
                              Searchkey = x.Field<string>("SEARCHKEY"),
                              Rating = x.Field<string>("RATING"),
                              Delivery = x.Field<string>("DELIVERY")
                   });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM