linq - 在 linq 的左连接中进入关键字的目的?
问题描述
虽然这看起来很基本,但我在理解这个概念时遇到了很多困难,左连接实际上是如何工作的?当没有机会分组时,进入关键字含义的目的是什么,那么为什么要使用它来实现左连接??如何我们在这里分组的是什么?
public class LinqJoinController : Controller
{
//
// GET: /LinqJoin/
public List<Department> getAllDepartment()
{
return new List<Department>(){
new Department{Id=1,Name="IT"},
new Department{Id=2,Name="HR"},
};
}
public List<Employee> getAllEmployee()
{
return new List<Employee>(){
new Employee{Id=1,Name="Sachin",DepartmentId=1},
new Employee{Id=2,Name="Ram",DepartmentId=1},
new Employee{Id=3,Name="Shyam",DepartmentId=2},
new Employee{Id=4,Name="Radhe"},
};
}
public ActionResult Index()
{
var result = from emp in getAllEmployee()
join dep in getAllDepartment()
on emp.DepartmentId equals dep.Id
into eGroup
from dep in eGroup.DefaultIfEmpty()
select new EmployeeVM
{
DepartmentName = dep==null?"No Dept":dep.Name,
EmployeeName = emp.Name
};
return View(result);
}
}
}
解决方案
推荐阅读
- oracle - 必须声明 PLS-00201 标识符“rep_table_T”
- r - 如何遍历R中文件夹中的一系列顺序文件
- visual-studio-code - 在 VSCode 多根工作区中为一个文件夹设置 Flowjs
- kotlin - Kotlin MPP pod 集成失败
- c# - 仅将特定单元格更改为向上 Excel
- facebook-graph-api - 如何按创建日期对广告帐户下所有广告的结果进行排序?
- java - 信任关联初始化无法加载信任关联类 {X}
- python - 如何在 Twilio 中检索 WhatsApp 消息?
- proxy - 代理在终端上工作但不在浏览器上?
- augmented-reality - HoloLens2 上的渲染对象游泳问题