DataTable选择帮助

时间:2011-02-07 17:51:12

标签: c# linq

我正在尝试将数据表转换为List。你能帮我查询一下吗?

         var result = DataTable1.AsEnumerable().Select(e => {e.Field<int>("MID"), e.Field<string>("MTX")}).ToList();
        JavaScriptSerializer ser = new JavaScriptSerializer();
        string json = ser.Serialize(result);

谢谢..

3 个答案:

答案 0 :(得分:1)

您需要为Select电话中的属性提供名称。在这种特殊情况下,这些名称不会自动且明确地解析。试试

var result = DataTable1.AsEnumerable().Select(row => new { Mid = row.Field<int>("Mid"), MTX = row.Field<string>("MTX") });
JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(result);

这些名称将成为json结果的一部分。如

[{"Mid":1,"MTX":"A"},{"Mid":2,"MTX":"B"}]

答案 1 :(得分:0)

IEnumerable<DataRow> sequence = dt.AsEnumerable(); 

List<DataRow> list = dt.AsEnumerable().ToList(); 

答案 2 :(得分:0)

尝试:

var result = DataTable1.AsEnumerable()
    .Select(e => new object[] { e.Field<int>("MID"), e.Field<string>("MTX") })
    .ToList();