我有一个名为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();
答案 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循环以检查表中是否存在代码。