当数据库 table 为空时,如何从数据库中获取最大 ID?
How to get Max Id from database when database table is empty?
我的数据库中有 table 调用 'GRNHDReturn'。当 table 为空时,我想从 table 获取最大 ReturnId。我该怎么做?
GRNHD返回数据库
public string getMax()
{
GRNHDReturn grh = new GRNHDReturn();
int max = 0;
if ((context.GRNHDReturns.Max(p => p.ReturnId) == 0))
{
max = 1;
calculatemax = "RN" + max.ToString();
}
else
{
max = context.GRNHDReturns.Max(p => p.ReturnId);
int nextmax = max + 1;
calculatemax = "RN" + nextmax.ToString();
}
return calculatemax;
}
public string getMax()
{
GRNHDReturn grh = new GRNHDReturn();
int? max = (from o in context.GRNHDReturns
select (int?)o.ReturnId).Max();
if (max == 0 || max == null)
{
max = 1;
calculatemax = "RN" + max.ToString();
}
else
{
int? nextmax = max + 1;
calculatemax = "RN" + nextmax.ToString();
}
return calculatemax;
}
你可以试试这个。
你可以通过这些代码行做任何你想做的事情:
int max = 0;
max = context.GRNHDReturns.Select(p => p.ReturnId)
.DefaultIfEmpty().Max();
int nextmax = max + 1;
calculatemax = "RN" + nextmax.ToString();
return calculatemax;
通过 DefaultIfEmpty()
,如果没有记录,您告诉 EF return 0
(int
的默认值)。
我的数据库中有 table 调用 'GRNHDReturn'。当 table 为空时,我想从 table 获取最大 ReturnId。我该怎么做?
GRNHD返回数据库
public string getMax()
{
GRNHDReturn grh = new GRNHDReturn();
int max = 0;
if ((context.GRNHDReturns.Max(p => p.ReturnId) == 0))
{
max = 1;
calculatemax = "RN" + max.ToString();
}
else
{
max = context.GRNHDReturns.Max(p => p.ReturnId);
int nextmax = max + 1;
calculatemax = "RN" + nextmax.ToString();
}
return calculatemax;
}
public string getMax()
{
GRNHDReturn grh = new GRNHDReturn();
int? max = (from o in context.GRNHDReturns
select (int?)o.ReturnId).Max();
if (max == 0 || max == null)
{
max = 1;
calculatemax = "RN" + max.ToString();
}
else
{
int? nextmax = max + 1;
calculatemax = "RN" + nextmax.ToString();
}
return calculatemax;
}
你可以试试这个。
你可以通过这些代码行做任何你想做的事情:
int max = 0;
max = context.GRNHDReturns.Select(p => p.ReturnId)
.DefaultIfEmpty().Max();
int nextmax = max + 1;
calculatemax = "RN" + nextmax.ToString();
return calculatemax;
通过 DefaultIfEmpty()
,如果没有记录,您告诉 EF return 0
(int
的默认值)。