【问题标题】:How to use LINQ in DataTable?如何在 DataTable 中使用 LINQ?
【发布时间】:2014-11-05 00:38:41
【问题描述】:

我正在尝试在DataTable 中使用LINQ,并且我使用Ntier 作为我的解决方案,但是当我尝试在DataTable 中使用LINQ 时,它给了我一个错误:对不起我的英语

Error   1   Cannot convert lambda expression to type 'string' because it is not a delegate type c:\users\ba-ojt\documents\visual studio 2010\Projects\GoActiveDirectory\PresentationTier\Default.aspx.cs    21  25  PresentationTier

我该如何解决这个问题 以及它是如何变成 lambda 表达式的?

我的代码:

protected void Page_Load(object sender, EventArgs e)
    {
        DataServiceReference.Service1Client newService = new DataServiceReference.Service1Client();
        DataTable dt = newService.GetAccounts();

        var query = from data in dt
                    select data;//Error Here

        Repeater1.DataSource = query;
        Repeater1.DataBind();

    }

我的参考:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;
using System.Data.Entity;

【问题讨论】:

    标签: c# asp.net linq datatable lambda


    【解决方案1】:

    像这样使用AsEnumerable()

    var query = from data in dt.AsEnumerable()
                select data;
    

    更新: 然后要从数据表中获取列,您可以这样做:

    data.Field<YourType>("YourColumnName")
    

    参考:

    【讨论】:

      【解决方案2】:

      试试这个:

      var query = (from DataRow data in dt.Rows
                  select data).ToList();
      

      【讨论】:

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