为了账号安全,请及时绑定邮箱和手机立即绑定

Linq - 从不相关的表中获取计数

Linq - 从不相关的表中获取计数

C#
倚天杖 2021-07-13 17:07:02
如何执行 aselect count(*) from UnrelatedTable where documentLink_Id = x.documentLink_id并将结果计数添加到totalTimeAccessed. 两个表(PublishedContent和UnrelatedTable有documentLink_id)的共同点。然后我只想选择计数大于 0 的行        var dbData = publishedontext.PublishedContent                    .Where(x => x.Status > PublishedStatus.Released)                        .OrderBy(x => x.Title)                    .Select(x => new DownloadsPerContetnItemReportRows()                    {                        title  = x.Title,                        documentLink_Id = x.DocumentLink_Id,                        statustatus = x.Status,                        totalTimeAccessed = "Select count from an unrelated table"                     }
查看完整描述

1 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

以下代码应工作:


totalTimeAccessed = PublishedContent

                    .Join(UnrelatedTable,pc => pc.DocumentLink_Id,

urt => urt.DocumentLink_Id,(pc,urt) => new {pc,urt})

                    .Where(y => pc.Count > 0 && urt.Count > 0)

这个怎么运作


加入PublishedContent与UnrelatedTable上DocumentLink_Id

在结果上检查是否Count > 0为PublishedContent和UnrelatedTable投影

需要根据您的特定要求进行少量修改。如果Count指的是行数而不是投影的列,那么Join无论如何都会给出匹配的行,那么我们就不需要该Where子句


查看完整回答
反对 回复 2021-07-18
  • 1 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信