【发布时间】:2017-08-31 12:44:58
【问题描述】:
我有一个像下面这样的类,我试图从中获取特定区域的最大值:
public partial class Ads
{
public int Id { get; set; }
public int RegionId { get; set; }
public int Charge { get; set; }
public Nullable<int> Group { get; set; }
}
记录:
Id RegionId Charge Group
1 100 100 1
现在我正在尝试获取 regionid=100 的最大值,但问题是我总是通过以下查询获得 1:
int group = context.Ads.Where(a => a.RegionId == 100).Max(t => (int?)t.Group)) ?? 0 + 1;
为什么上面只给我 1 而不是 2 ?
【问题讨论】:
-
为什么要给 2?
-
@Rahul OP 期望
Max返回 1,然后将其加 1。 -
顺便说一句
public Nullable<int> Group { get; set; }应该是public int? Group { get; set; } -
检查您的优先顺序
-
在
(context... ??0) + 1周围添加括号
标签: c# asp.net .net entity-framework linq