Here, I would like to describe how to use a LINQ query and describe how to query a dataset data.
I will describe the following listed points. I have described all points using a simple example.
- Projection Operator
- Restriction operator
Restriction Operator
Where: It's a Restriction operator, it selects a value from a collection. In my example my data source is a dataset. I need to describe both the lambda expression and a simple query. My Data Source is on the following written data I need to query.
/// <summary>
/// Here my Data
/// </summary>
/// <returns></returns>
private static DataSet MyData()
{
DataSet _ds = new DataSet();
DataTable _dt = new DataTable();
_dt.Columns.Add("Employeeid");
_dt.Columns.Add("Name");
_dt.Columns.Add("Age");
_dt.Columns.Add("Qualification");
_dt.Columns.Add("FatherName");
_dt.Columns.Add("Address");
_dt.Columns.Add("Gender");//Here 1 for Female and 2 for Male.
_dt.Rows.Add("1001", "Priya", "24", "B-Tech", "Suresh Yadav", "Delhi", "1");
_dt.Rows.Add("1002", "priyanka", "26", "B-Tech", "Sudhir singh", "Patna", "1");
_dt.Rows.Add("1003", "Anu", "25", "MCA", "Sekhar singh", "bhagalpur", "1");
_dt.Rows.Add("1004", "Suman", "26", "BCA", "Rohit singh", "Indor", "1");
_dt.Rows.Add("1005", "Vijay Mishra", "26", "B-tech", "Raju Mishra", "Patna", "2");
_dt.Rows.Add("1006", "Rekha", "24", "B-tech", "Sudhakar singh", "Chandigarh", "1");
_dt.Rows.Add("1007", "Ankush kumar", "28", "B-tech", "Sunil Kumar", "Delhi", "2");
_ds.Tables.Add(_dt);
return _ds;
}
1. Here the simple query is like the SQL query example (Select * from Tablename where colname='jdsfdj):
Console.WriteLine("---------------Simple Query to=> select all column data---------------");
Console.WriteLine("Enter employee id");
string ss=Console.ReadLine();
var data = from s in MyData().Tables[0].AsEnumerable()
where s["Employeeid"].ToString()==ss
select s;
foreach (var mydata in data)
{
Console.WriteLine("EmployeeID:" + mydata["Employeeid"] + "," + "Name:" + mydata["Name"] + ",Gender:" +( mydata["Gender"].ToString() == "1" ? "Female" : mydata["Gender"].ToString() == "2" ? "Male" : "") + ",Age:" + mydata["Age"] +
",Qualification:" + mydata["Qualification"] + ",FatherName:" + mydata["FatherName"] + ",Address:" + mydata["Address"] + Environment.NewLine);
}
The output of the above written query is:

2. Here I have select all data using a lambda expression.
//(2)Simple query =>using linq Method=>Lambda Expression:Like Sql query =>Select * from Tablename
Console.WriteLine("-----Simple Query to=>select all column data using Lambda Expression of linq-------");
Console.WriteLine("Enter employee id");
string empid = Console.ReadLine();
var data2 = MyData().Tables[0].AsEnumerable().Select(k => k).Where(p => p["Employeeid"].ToString() == empid);
foreach (var mydata in data2)
{
Console.WriteLine("EmployeeID:" + mydata["Employeeid"] + "," + "Name:" + mydata["Name"] + ",Gender:" + (mydata["Gender"].ToString() == "1" ? "Female" : mydata["Gender"].ToString() == "2" ? "Male" : "") + ",Age:" + mydata["Age"] +
",Qualification:" + mydata["Qualification"] + ",FatherName:" + mydata["FatherName"] + ",Address:" + mydata["Address"] + Environment.NewLine);
}
The output of the above written query is:

Sam HobbsPosted Apr 11, 2014, 2:22 PM
I very much do not understand why Microsoft calls it LINQ to DatasSet. The data is coming from a dataset, correct? So it is not "to" a DataSet. I once tried to find a sample of using LINQ to put data into a database table but I could not find any. If it is possible then it should be called LINQ to DataSet or whatever is relevant but finding that is difficult since going the other direction is also called LINQ to DataSet. Microsoft seems to use confusing terminology on purpose to confuse us.