我正在动态构建一个以下开头的查询:
var items = db.Items;
Run Code Online (Sandbox Code Playgroud)
...
case "4":
items = items.OrderBy(x => x.Ratings.Average(t => t.score)).ThenBy(x => x.title);
Run Code Online (Sandbox Code Playgroud)
问题是有些项目在评级表中还没有任何数据,所以我认为它试图对不存在的数据进行平均.DefaultOrEmpty()在最后使用似乎没有任何影响.关于我如何解决这个问题的任何建议?
DSh*_*ook 13
如果您使用此表格:
var effectiveFloor =
policies
.Where(p => p.PricingStrategy == PricingStrategy.EstablishFloor)
.Max(p => p.Amount);
Run Code Online (Sandbox Code Playgroud)
然后解决方案是:
var effectiveFloor =
policies
.Where(p => p.PricingStrategy == PricingStrategy.EstablishFloor)
.DefaultIfEmpty()
.Max(p => p==null ? 0 : p.Amount);
Run Code Online (Sandbox Code Playgroud)
在这里找到
items = items.Where(x=>x.Ratings.Any()).
OrderBy(x => x.Ratings.Average(t => t.score)).
ThenBy(x => x.title);
Run Code Online (Sandbox Code Playgroud)
试试吧.
| 归档时间: |
|
| 查看次数: |
6473 次 |
| 最近记录: |