【发布时间】:2021-06-28 13:10:37
【问题描述】:
Below Linq 查询从 S 中返回我的值。
List<SelectListItem> sNos = _ctx.S.AsNoTracking()
.Select(n =>
new SelectListItem
{
Value = n.SID.ToString(),
Text = n.SNO
}).ToList();
return new SelectList(sNos, "Value", "Text");
我现在需要通过应用连接来进一步完善我的 linq 查询,例如我的实体“b”有一个要连接的 id,所以我尝试过类似的方法,但现在运气不错。有人可以从语法上向我展示如何在 linq 中正确应用联接吗?
List<SelectListItem> sNos = _ctx.S.AsNoTracking()
join b in _ctx.B
on b.BID = s.SID
.Select(n =>
new SelectListItem
{
Value = n.SID.ToString(),
Text = n.SNO
}).ToList();
return new SelectList(sNos, "Value", "Text");
这两个实体都已映射到我的 DBContext 页面中。
【问题讨论】:
-
我看到了方法链和查询理解语法的混合。选择一件事。还有很多关于如何通过 LINQ 连接两个表的答案。
-
@SvyatoslavDanyliv 你能详细说明一下我对 linq 查询很陌生。
-
@AndyWilliams 说有 2 种 LINQ 语法,method syntax 和 query syntax。请在更新问题时始终选择其中一项。