c# - C# 中的 Lambda 表达式使用具有多个左外连接的实体框架和内联附加过滤器
问题描述
我们在我的项目中使用实体框架。在其中一项要求中,我需要使用左外连接和条件从多个表中查询数据。这是 SQL 脚本。有人可以为此提供 lambda 表达式吗?
SELECT
e.EmployeeId, e.EmployeeFirstName, e.EmployeeLastName,
s.SkillId, s.SkillName,
c.CertificateId, c.CertificateName, c.ExpiryDate
FROM
[dbo].[Employee] AS e
LEFT OUTER JOIN
[dbo].[EmployeeSkill] AS s ON e.EmployeeId = s.EmployeeId
AND s.IsActiveSkill = 1
LEFT OUTER JOIN
[dbo].[EmployeeCertification] AS c ON e.EmployeeId = c.EmployeeId
AND c.IsActiveCertification = 1
AND c.ExpiryDate < GETUTCDATE() + 30
WHERE
e.DepartmentId = 1
AND e.IsActiveEmployee = 1
解决方案
您可以使用 GroupJoin。它具有与 SQL 中的左外连接相同的功能。
推荐阅读
- java - 将 JPG 图像作为位图上传到 Android Studio 时,图像的分辨率会丢失吗?
- spring - Spring 安全 jdbc 用户认证
- node.js - 将 Node.js 页面部署到 AWS Elastic Beanstalk 后出现“hell.php”错误和“502 Bad Gateway”错误
- c# - ASP.NET Core 2.1 - 脚手架不生成任何文件
- function - 事件场景内的电晕功能位置
- r - 在 R 中使用聚合时如何保留其他列?
- django - 使用 Gunicorn 和 Nginx 在一个 Droplet 上运行两个 Django 项目
- r - 使用 mutate_at 缩短多个 dplyr 变异?
- php - 喜欢 jQuery 求和值
- javascript - 为什么我不能将图表添加到动态插入的 svg 元素?