2014-09-11 24 views
0

我试图使用DataTableLINQ我用的nTier我的解决方案,但是,当我尝试使用LINQDataTable它给了我一个错误:对不起,我的英语如何在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表达式?

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; 

回答

3

使用AsEnumerable()这样的:

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

更新: 然后摆脱你能做到这一点的数据表中的列:

data.Field<YourType>("YourColumnName") 

参考:

1

试试这个:

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