If you are a C#.Net developer, then you must be familiar with Data Table and LINQ.
In C#, a Data Table is an in-memory object to represents data in tabular format i.e. rows and columns.
Once you get data in a Data Table object there could be various operations that can be performed.
In this blog, I will explain about the LINQ code that is very helpful while working with Data Table.
For eg – If you want to do a sum of a column data or want to check a null value in a cell.
Select N rows from the Data Table using LINQ in C#
Suppose you have your data in a Data Table but you want to show or manipulate only 4 or 5 or 6 or n records, then below is the C# code to implement this facility.
string spQuery = “GetData”; SqlParameter[] param = new SqlParameter[1]; param[0] = new SqlParameter(“@department”, txtDept.Text); DataSet ds = //Your Data Logic var topNRows = from EmpData in ds.Tables[0].AsEnumerable().Take(3) select new { Name = EmpData.Field<string>(“name”), Dept = EmpData.Field<string>(“dept”), City = EmpData.Field<string>(“city”), Grade= EmpData.Field<string>(“grade”) }; rptData.DataSource = topRows; rptData.DataBind(); |
The below code is to sum the value of a column called ‘marks’ available in a DataTable.
decimal totalMarks = ds.Tables[0].AsEnumerable().Sum(r => r.Field<decimal?>(“marks”) ?? 0); |
Below code is to check the row count where the particular column should not contain a null value.
int valueCount = ds.Tables[0].AsEnumerable().Where(c=>c.Field<decimal?>(“studentCode”) != null).Count(); |
Find records from DataTable using LINQ in C#
int deptCount = dTable.AsEnumerable().Where(c => c.Field<string>(“dept”) == “IT”).Count(); |
C# code to select value from DataTable
DataRow[] result = dtable.Select(“marks >= 75”); foreach (DataRow row in result) { string stuname = row[0].ToString(); string rollno = row[1].ToString(); } |