Querying a DataTable with LINQ
StaticDataTable table =NewDataTable (); StaticDataColumn DC =NewDataColumn (); Static voidMain () {createtable (); Table. Rows.Add (1,2,"2010-1-1"); Table. Rows.Add (2,3,"2010-1-1"); Table. Rows.Add (3,4,"2010-1-1"); Table. Rows.Add (4,5,"2010-1-1"); Table. Rows.Add (5,2,"2010-1-2"); Table. Rows.Add (6,3,"2010-1-2"); Table. Rows.Add (7,4,"2010-1-2"); Table. Rows.Add (8,5,"2010-1-2"); varquery = fromDtinchtable. AsEnumerable ()where New int[] {2,3,4}. Contains (dt. Field<int32> ("PID")) byDt. Field<datetime> ("CreateDate") descending group dt by DT. Field<Int32> ("PID") into G let n= ( fromDinchG.take (2). Skip (1)Selectd). FirstOrDefault ()Select New{ID= N.field<int32> ("ID"), PID=G.key, CreateDate= N.field<datetime> ("CreateDate") }; Query. ToList (). ForEach (M= Console.WriteLine ("{0}\t{1}\t{2}\t", m.id,m.pid,m.createdate)); } Public Static voidcreatetable () {DC=NewDataColumn ("ID", Type.GetType ("System.Int32")); Table. Columns.Add (DC); DC=NewDataColumn ("PID", Type.GetType ("System.Int32")); Table. Columns.Add (DC); DC=NewDataColumn ("CreateDate", Type.GetType ("System.DateTime")); Table. Columns.Add (DC); }
Querying a DataTable with a lambda expression
DataTable dt =NewDataTable (); DataColumn DC=NewDataColumn ("UserName", System.Type.GetType ("System.String")); DataColumn DC1=NewDataColumn ("userpwd", System.Type.GetType ("System.String")); Dt. Columns.Add (DC); Dt. Columns.Add (DC1); DataRow Dr=dt. NewRow (); dr["UserName"] =" A"; dr["userpwd"] =" -"; Dt. Rows.Add (DR); varRowNumber = dt. AsEnumerable (). Where<datarow> (c=>c["UserName"]. ToString () = =" A"); introw = RowNumber. Count<datarow>(); foreach(DataRow eninchRowNumber) {Response.Write ("User"+ en["UserName"] +"pwd"+ en["userpwd"]); }
LINQ to DataTable and Lambda query DataTable