By using Single LINQ Query retrieve foriegn key table column

February 10, 2016 , , 2 Comments

In this article, I will explain you, How to retrieve data from two joined table using single LINQ Query. Here we have two joined table in mentioned diagram. Both tables are joined from dept_no, so if you want to retrieve record from both table like:
Retrieve emp_id and emp_name who belongs to IT department.

employeeEntities empl = new employeeEntities();

            var query = from g in empl.emps
                        join m in empl.depts on g.dept_no equals m.dept_no
                        where m.dept_name == "IT"
                        select new
                            Emp_Name = g.emp_name,
                            Emp_ID = g.emp_id
            dataGridView1.DataSource = query.ToList();
In this code, empl is the context object through which we can access columns of both tables. emp is the foreign key table map with dept table using dept_no column. Emp_Name and Emp_ID is the reference name , which are displayed on table. Bind the query result with the dataGridView. 

Jacob Lefore

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard. Google


  1. Why not:
    var query = empl.emps
    .Where(i => i.dept.dept_name == "IT")
    .Select(i => new {Emp_Name = i.emp_name, Emp_Id = i.emp_id });

    Since you already have a navigational property.

  2. you can use lambda expression, thanks for valuable comments