什么类型的方法用于对象删除或保存?

时间:2010-01-11 17:46:01

标签: c# .net object

这可能是一个主观问题,但我想知道人们认为对象的保存或删除方法行为的最佳模式是什么?

当你设置一个包含Db记录信息的类时,我通常最终将对象Delete()和Save()方法声明为void。由于这些方法通常会对对象的其他属性采取直接操作,我们是否需要返回其他任何内容以确认操作?在失败时,我只是让错误处理框架或实现代码处理任何异常。

我见过很多对象发回一行受影响的int或其他回复,对此有什么“专家”意见?

即。这样:

public void Delete()
{
   if (this.objectID == null || this.objectID == -1) { throw new exNotDbObject() }
   //Do dB operations
   this.objectID = null;
   this.TimeRetrievedFromDb = null;

}

vs this:

public int Delete()
{
   if (this.objectID == null || this.objectID == -1) { throw new exNotDbObject() }
   int retVal = dataLayer.DeleteObj(this.objectID);
   return retVal;
}

1 个答案:

答案 0 :(得分:1)

我自己喜欢int Delete()。然后我可以告诉删除了多少(如果有的话)记录,除非有问题,程序可以按预期继续。

我想如果没有记录(或多个记录)被删除,你可以做void Delete()并抛出异常,但我从不喜欢这种方法,因为我总是认为我知道预期的结果是什么删除是。