linq - Enum 上的 EF Core 总和
问题描述
我有一个基于以下域对象的 UserVote 表:
public class UserVote {
public Guid Id {get;set;}
public Guid PostId {get;set;}
public Guid UserId {get;set;}
public VoteType VoteType {get;set;}
}
public enum VoteType {
Upvote = 1,
Downvote = 0
}
如何编写查询以获取唯一 PostId 的 VoteType 总数?
我尝试按 PostId 分组,然后调用Count
,但没有成功:
_ctx.UserVotes.Where(x=>x.PostId == PostId).GroupBy(x=>x.PostId).Count()
解决方案
我真的想通了。我需要将其enum
转换为int
_ctx.Where(x => x.PostId == PostId).Sum(x => (int)x.VoteType);
推荐阅读
- ruby-on-rails - Rails ActiveRecord sanitize_sql 替换 ? 在字符串中
- google-cloud-platform - 谷歌 gcr 图像在哪里存储在谷歌存储中?
- c# - 加入未按预期工作(实体框架)
- php - 使用 php 和 ajax 从数据库中获取数据并显示到文本框
- php - MySQL vs Firebird:使用 PDO 访问 PHP 中的查询列
- user-interface - UI如何评估?
- iphone - 创建新会话是不可能的,因为“createSession”需要 HttpClient,
- angular - Angular FormGroup valueChanges 将属性转换为数组
- java - 我在 android apk 中执行命令,但我无法获得正确的返回
- windows - 使用 Windows 默认凭据的 UWP NTLM 身份验证