我需要在左连接中使用常量值,如下所示的 Linq 表达式中的 sql。如何在 linq 表达式中实现这一点。
SELECT *
FROM [dbo].[s1AlertLog] AS [Extent1]
LEFT OUTER JOIN [dbo].[smManualChapter] AS [Extent4] ON [Extent1].[mwEventDetailKey] = [Extent4].[ID] and [Extent1].mwEventTypeKey = 300 Where Extent1.mwcUsersKey = 8000
Run Code Online (Sandbox Code Playgroud)
林克
var list = (from alert in ctx.Set<S1AlertLog>()
join smManualChapter in ctx.Set<SmManualChapter>() on new { alert.MwEventDetailKey, alert.MwEventTypeKey } equals new { smManualChapter.ID, 300}
into temp1
from tempChapter in temp1.DefaultIfEmpty()
select alert
);
var result = list.Where(x=>x.mwcUsersKey == 8000);
Run Code Online (Sandbox Code Playgroud)
您需要在匿名类型中使用相同的字段名称:
var list = (from alert in ctx.Set<S1AlertLog>()
join smManualChapter in ctx.Set<SmManualChapter>()
on new { d = alert.MwEventDetailKey, t = alert.MwEventTypeKey }
equals new { d = smManualChapter.ID , t = 300 }
into temp1
from tempChapter in temp1.DefaultIfEmpty()
select alert
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1952 次 |
| 最近记录: |