如何在DataTable中使用LINQ?

时间:2014-09-11 06:59:52

标签: c# asp.net linq datatable lambda

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

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表达式?

mycode的:

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();

    }

MyReference:

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;

2 个答案:

答案 0 :(得分:5)

像这样使用AsEnumerable()

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

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

data.Field<YourType>("YourColumnName")

参考:

答案 1 :(得分:1)

试试这个:

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