0

这就是我如何从我的数据源中获得以前最大的 ID 并将这个值加一。

   string _fID = (float.Parse("." + DBContext.Employees.OrderByDescending(x =>   
    x.EmpID).FirstOrDefault().EmpID.ToString()) + .00001f).ToString("F5");

我明白了_fID = 0.00002

但我想要的是没有十进制值的字符串。
例如。_fID = 00002.

我所做的是替换 like _fID = _fID.Replace("0.","");
有什么捷径可以做这些东西吗?谢谢大家:)

附言

EmpID 的数据类型是nvarchar(5)

4

1 回答 1

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");
于 2013-09-23T06:26:14.740 回答