tsql - 如何在实体框架核心中转换外部应用
问题描述
我需要将整个 SQL 存储过程转换为 LINQ。有 OUTR Apply 部分,我需要将其转换为 LINQ。
例如——这里有更多连接
LEFT JOIN Reason ON Reason.ReasonID = jd.ReasonID
OUTER APPLY
(
SELECT s.SiteNameSimpleAddress
FROM jobvisit jv
INNER JOIN site s ON jv.siteid = s.siteid
AND jd.JobVisitID = jv.jobvisitid
) s
请注意,“jd.JobVisitID”存在于上面的另一个连接中,而不是外部应用中。看起来它参与了使左连接相等。
如果我在没有严厉批评的情况下写错了,请纠正我的问题
解决方案
他们以下。由于您尚未发布您的模型,因此我试图以示意图方式展示。
var query =
...
join reason in ctx.Reasons on jd.ReasonId equals reason.ReasonId
from address in (from jv in ctx.JobVisit
from s in ctx.Site
.Where(s => jv.SiteId == s.Siteid && jd.JobVisitID == jv.JobVisitID)
select s.SiteNameSimpleAddress).DefaultIfEmpty()
...
推荐阅读
- prometheus - 用例需要设置值以在普罗米修斯中进行计数器而不是递增
- amazon-web-services - 无法使用 Minio 连接到 Apache Kafka Brokers 以发布通知
- c++ - 在 64 位 UEFI 操作系统中实现用户模式和内核模式切换
- redux - 使用 react-injectors 时在注销时重置 redux 存储
- python - HTTP 错误 302:HTTP 服务器返回一个重定向错误,这将导致无限循环
- java - Blob 存储 java sdk 由 azure AD 授权
- serialization - Julia:在运行时生成代码并将其存储以供将来评估/执行
- ruby - 如何为后续 Gem 查询编写 Rspec
- python - 如何在 Tkinter 中创建侧面画布
- node.js - 在 MongoDB 数据库中进行更改时自动更新前端 (UI) 数据