如何在找不到任何代码时生成代码

时间:2017-09-02 08:36:59

标签: c#

我有一个名为Sell的表。我在该表中有CustomeCode,我需要在该字段中保存uniqe代码。 我已经在Customecode表中生成了大量数据,当我想要添加新记录时,我会从该表中读取代码(customeCode)。

我在CustyomeTable中有这些字段:Id, Code,IsUsed 有时没有代码,我的应用程序会抛出异常。

我该如何处理?

我的代码就像:

var result =_db.CusomeCode.firstOrDefault(row=>row.isUsed!=true);
if(result!=null) return result.Code;
if(result==null) throw new exception();

1 个答案:

答案 0 :(得分:0)

而不是抛出错误,

if(code==null) throw new exception();

您只需向表中添加新代码

即可
var code = new CustomCode();
code.isUsed = true;
code.Code = GenerateNewCode();
while(_db.CustomCode.Any(a => a.Code == code.Code)){
    code.Code = GenerateNewCode();
}
_db.CustomCode.add(code);
_db.SaveChanges();
return code.Code;

编辑:我假设您有一个函数(GenerateNewCode())来生成代码,并且CusomeCode表具有Id字段的自动Id。

编辑#2:添加while循环以检查表中是否存在代码。