In this blog, I’m explaining the language integrated query and how to use it in our application.
LINQ stands for Language Integrated Query is a modern Microsoft technology. It provides the language level support mechanism to query all types of data.
Language-Integrated Query, or LINQ, is an extension to the .NET Framework in version 3.5 that makes queries and set operations first class citizens of .NET languages such as C#. It has been further defined as, 'A set of general purpose standard query operators that allow traversal, filter, and projection operations to be expressed in a direct yet declarative way in any .NET language
Example
Step 1:
Create a windows application and add a textbox and button and datagridview like this:
Step 2:
Create a list and add data in it:
public class Student
{
public string Name { get; set; }
public string Address { get; set; }
public string CourseName { get; set; }
public string ContactNumber { get; set; }
}
List<Student> students = new List<Student>();
students.Add(new Student { Name = 'Mark', Address = 'NewYork', CourseName = 'M.B.A.', ContactNumber = '05127893628' });
students.Add(new Student { Name = 'Steve', Address = 'NewJersy', CourseName = 'M.C.A.', ContactNumber = '0512734890' });
students.Add(new Student { Name = 'John', Address = 'LosAngeles', CourseName = 'B.Tech', ContactNumber = '05127812345' });
Step 3:
Write the following linq query to get data in datagridview :
var query = from student in students
where student.Name.ToLower().Contains(searchText) ||
student.Address.ToLower().Contains(searchText) ||
student.CourseName.ToLower().Contains(searchText) ||
student.ContactNumber.ToLower().Contains(searchText)
select student;
The above linq query will give you data that matches with your entered
text.
Full Code:
public partial class frmStudentSearch : Form
{
public class Student
{
public string Name { get; set; }
public string Address { get; set; }
public string CourseName { get; set; }
public string ContactNumber { get; set; }
}
List<Student> students = new List<Student>();
public frmStudentSearch()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
students.Add(new Student { Name = 'Mark', Address = 'NewYork', CourseName = 'M.B.A.', ContactNumber = '05127893628' });
students.Add(new Student { Name = 'Steve', Address = 'NewJersy', CourseName = 'M.C.A.', ContactNumber = '0512734890' });
students.Add(new Student { Name = 'John', Address = 'LosAngeles', CourseName = 'B.Tech', ContactNumber = '05127812345' });
}
private void btnSearch_Click(object sender, EventArgs e)
{
string searchText = txtSearch.Text.Trim().ToLower();
if (!string.IsNullOrEmpty(searchText))
{
var query = from student in students
where student.Name.ToLower().Contains(searchText) ||
student.Address.ToLower().Contains(searchText) ||
student.CourseName.ToLower().Contains(searchText) ||
student.ContactNumber.ToLower().Contains(searchText)
select student;
dataGridStudents.DataSource = query.ToList();
}
}
}
Output
It will search anything that exists in the list like if you type Name, Address, Course name or Contact Number.