C# 插入操作代码检查
我有一个方法,如果操作成功,则返回1;如果操作失败,则返回0。我使用实体框架来执行数据库操作C# 插入操作代码检查,c#,ado.net,C#,Ado.net,我有一个方法,如果操作成功,则返回1;如果操作失败,则返回0。我使用实体框架来执行数据库操作 public class Employee { public int InsertEmployee(Employee employee) { //insert code if(employee.EmployeeId > 0) { return 1; } else
public class Employee
{
public int InsertEmployee(Employee employee)
{
//insert code
if(employee.EmployeeId > 0)
{
return 1;
}
else
{
return 0;
}
}
}
按照下面的方法重写上面的方法是一种很好的做法
public enum StatusMessage { Success, Error };
public static class Status
{
public static StatusMessage GetStatus(this int status)
{
if (status > 0)
{
return StatusMessage.Success;
}
else
{
return StatusMessage.Error;
}
}
}
public class Employee
{
public StatusMessage InsertEmployee(Employee employee)
{
//insert code
return employee.EmployeeId.GetStatus()
}
}
请给我一个更好的方法来写上面的代码
提前感谢我将返回一个
布尔值
。对/错->成功/不成功
- 返回Int可能会造成混乱。有些人认为你正在返回一个Id
- 当可以返回多个状态时,请使用枚举
我实际上会考虑返回<代码>无效>代码>,如果操作失败,抛出异常。
如果您希望返回一个状态指示符,那么应该将您的方法重命名为类似于TryInsertEmployee
。在这种情况下,我只需返回一个bool
,表示成功。当然,问题是您无法附加更多有关操作未成功完成原因的信息。除了一个例外,你可以
这两点的原因是:
如果方法无法执行其名称描述的操作,则引发异常。为什么不返回一个
布尔值?当您有两个以上的状态时,应该将其更改为Enum
。我认为这个问题更适合CodeReview,因为您没有需要帮助的实际问题,这只是一个基于意见的问题。好的论点,更好的解决方案+1感谢您的回复。你能举个例子吗