Users Pricing

blog

home / developersection / blogs / language integrated query (linq)

Language Integrated Query (LINQ)

Sumit Kesarwani 4829 19 Dec 2013 Updated 18 Sep 2014

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:

  Language Integrated Query (LINQ)

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

 Language Integrated Query (LINQ)

It will search anything that exists in the list like if you type Name, Address, Course name or Contact Number.