这就是我从我的数据源获得以前最大的ID以及加上一个这个值的方法。
string _fID = (float.Parse("." + DBContext.Employees.OrderByDescending(x =>
x.EmpID).FirstOrDefault().EmpID.ToString()) + .00001f).ToString("F5");
我得到_fID = 0.00002
。
但我想要的是没有小数值的字符串
例如。 _fID = 00002
。
我所做的就是替换_fID = _fID.Replace("0.","");
有没有简短的方法来制作这些东西?谢谢大家:)
PS
EmpID的数据类型为nvarchar(5)
。
答案 0 :(得分:7)
我建议你停止使用浮点类型。只需使用整数,因为这基本上就是你所拥有的。 (当你逻辑上只使用整数时,你的数据类型是文本的,这是一种遗憾。)
string currentHighest = DBContext.Employees
.Select(x => x.EmpID)
.OrderByDescending(x => x)
.FirstOrDefault();
// TODO: Handle currentHighest being null (empty table)
int nextId = (int.Parse(currentHighest) + 1).ToString("00000");