c# - C# Linq-to-Entities OrderByDescending isn't working
问题描述
Here is my entity called SportTeam
:
public class SportTeam : BaseEntity
{
public int Id { get; set; }
public int SportId { get; set; }
public int TeamId { get; set; }
public int TotalPlays { get; set; }
public int TotalWins { get; set; }
public int TotalDefeats { get; set; }
public int TotalDraws { get; set; }
public float WinPercentage { get; set; }
public float Score { get; set; }
// navs
public virtual Ladder Ladder { get; set; }
public int? LadderId { get; set; }
public virtual Sport Sport { get; set; }
public virtual Team Team { get; set; }
public ICollection<Match> HomeMatches { get; set; }
public ICollection<Match> RivalMatches { get; set; }
public ICollection<Match> VictorMatches { get; set; }
public virtual ICollection<TeamMember> TeamMembers { get; set; }
public virtual ICollection<Tournament> Tournaments { get; set; }
public override bool Equals(object obj)
{
SportTeam sportTeam = (SportTeam)obj;
if (sportTeam.Id == Id)
return true;
else
return false;
}
public override int GetHashCode()
{
return 2108858624 + Id.GetHashCode();
}
}
I am trying to sort the SportTeam
entity by score by doing this
List<SportTeam> sportTeams =
dbContext.SportTeams
.Where(st => st.SportId == sportTeam.SportId)
.OrderByDescending(st => sportTeam.Score)
.ToList();
However when I add a watch over the sportTeams
list, the list doesn't appear to be ordered by score at all. I just get an as in representation of the table.
Any hints?
解决方案
您正在对一个常数值进行排序 ( sportTeam.Score
) 尝试
OrderByDescending(st => st.Score)
代替
OrderByDescending(st => sportTeam.Score)
推荐阅读
- ngrx - 如何使用ngrx将项目添加到初始状态的实体
- signalr - SignalR 仅在发送时接收消息
- reporting-services - Microsoft 报告生成器循环/循环字段
- kubernetes - Spring Cloud Consul - 服务未在 K8s 上注册可联系地址
- scala - 如何重新定义 Scala 类型标签的操作
- elf - 如何解析 arm64 elf 文件?
- python - 如何搜索 Twitter APi 并按收藏夹数量过滤
- javascript - HTTPS 节点服务器不返回网页
- apache-kafka - 如何获得一个 kafka 配置值?
- python - 如何使用 python 连接到 lightstreamer?