如何编写LINQ以获取具有关联对象实例的单个对象?

时间:2009-06-30 22:31:32

标签: linq-to-sql

假设我有员工和部门表,员工的外键部门ID是部门表的主要部分。

我使用以下代码来获取基于Linq to SQL的实体的单个实例:  db.Employee.SingleOrDefault(e => e.empid == id); 但我想同时得到部门的实例。如何为这个要求写linq?

1 个答案:

答案 0 :(得分:3)

如果在数据库中定义了外键关系,那么它应该自动添加到Linq对象中。因此,返回的Employee对象将在其上具有完全填充的Department属性。

更新:我没有修复Jon Skeet经常写的东西,所以这是我的机会:

 var query = from employee in db.Employee
             where employee.empid == id
              select new { 
                  Employee = employee, 
                  Department = employee.department 
              };

Linq2Sql会自动进行加入!