我有一个简单的问题(我希望):)
在对数据执行CRUD操作时,我几乎总是使用void作为"返回"类型.
例如.考虑以下代码:
public void Insert(IAuctionItem item) {
if (item == null) {
AuctionLogger.LogException(new ArgumentNullException("item is null"));
}
_dataStore.DataContext.AuctionItems.InsertOnSubmit((AuctionItem)item);
_dataStore.DataContext.SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)
然后考虑这段代码:
public bool Insert(IAuctionItem item) {
if (item == null) {
AuctionLogger.LogException(new ArgumentNullException("item is null"));
}
_dataStore.DataContext.AuctionItems.InsertOnSubmit((AuctionItem)item);
_dataStore.DataContext.SubmitChanges();
return true;
}
Run Code Online (Sandbox Code Playgroud)
它实际上只取决于你是否应该通知插入的东西(并且进展顺利)?
Jus*_*ner 15
我通常选择那里的第一个选项.
鉴于您的代码,如果插入出现问题,则会抛出异常.
由于数据访问代码周围没有try/catch块,因此调用代码必须处理该异常...因此它将知道它是否以及为什么失败.如果您刚刚返回true/false,则调用代码将不知道为什么会出现故障(可能或可能不关心).
| 归档时间: |
|
| 查看次数: |
488 次 |
| 最近记录: |