C# EF按一对多关系排序
我有两个表:C# EF按一对多关系排序,c#,entity-framework,C#,Entity Framework,我有两个表:Products和ProductsRank,它们有一对多的关系。用户可以对任何产品进行向上投票和向下投票,并为每个用户添加一行到ProductsRank表中,其中包含true或false值 在搜索栏中,当用户键入产品名称时,我希望获得排名最高的产品列表 var products = _productsService.GetAllQuerable ( x => x.ProductsRank.Where(y => y.
Products
和ProductsRank
,它们有一对多的关系。用户可以对任何产品进行向上投票和向下投票,并为每个用户添加一行到ProductsRank
表中,其中包含true或false值
在搜索栏中,当用户键入产品名称时,我希望获得排名最高的产品列表
var products = _productsService.GetAllQuerable
(
x => x.ProductsRank.Where(y => y.TypeVote != null).OrderByDescending(y => y.TypeVote) &&
x.Title.Contains(term)
).Take(5);
这是我所能做的,我知道这是完全错误的。我该怎么做?什么是TypeVote?假设它是0/1,您可以尝试
var top5ProductRanking=\u productsService.GetAllQuerable.OrderByDescending(p=>p.ProductsRank.Sum(d=>d.TypeVote)).Take(5)代码>什么是类型投票?假设它是0/1,您可以尝试var top5ProductRanking=\u productsService.GetAllQuerable.OrderByDescending(p=>p.ProductsRank.Sum(d=>d.TypeVote)).Take(5)代码>