2013-07-26 71 views
0

我正在使用我想要使用Linq的數據表。但因爲我是新來的linq我不知道它是如何使用的。 我谷歌我有很多的信息是不夠的。如果我使用的數據表和我有類似的信息:linq與c中的dataTable#

DataRow r = from dr in ds.Tables["Customers"].AsEnumerable() 

where dr.Field<Guid>("customerid").ToString() = row[2].ToString() 

select dr;  

dt.ImportRow(r); 

和我有很多喜歡的是「醫生」的查詢。 dr.fields ?, 「.AsEnumerable()」不存在於我的身邊。

即使這個代碼也不起作用:

IEnumerable<DataRow> r = from dr in ds.Tables["Customers"].Select().Where(x => x.Field<Guid>("customerid").ToString() == row[2].ToString()) 
         select dr; 

因此,誰能請給我聯繫上我得到了來自beggining LINQ的所有信息。

+0

http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b – FSou1

+0

你,包括系統.Linq在你的班級? – Adil

+0

您需要添加對「System.Data.DataSetExtensions.dll」的引用,並確保在文件中有一個「using System.Data;'指令。 – Lee

回答

0

希望這可以幫助你。

LINQ到DataSet中

http://msdn.microsoft.com/en-us/library/bb386921.aspx

+0

按照這個鏈接它不工作在我的最後意味着DataTable.AsEnumerable()沒有出現在我的結尾(框架3.5) 什麼是確切的問題? – Pratik

+0

檢查此3.5版本http://msdn.microsoft.com/en-us/library/bb386921%28v=vs.90%29.aspx – Mico

1

你應該重複的行才達到它

var r = ds.Tables["Customers"].Rows 
    .Cast<DataRow>() 
    .Where(r => r["fieldName"].ToString() == "Test");