首先插入记录或检查和短路时是否允许例外?

时间:2016-02-05 18:56:08

标签: entity-framework

对于HttpPost操作,其中插入的对象具有备用键,插入时处理数据库冲突的最佳选择是什么?

我应该先检查实体是否存在并返回存在冲突的错误代码

    if (ReportingContext.Reports.Any(r => r.ReportId == report.ReportId))
    {
        return new HttpStatusCodeResult(StatusCodes.Status409Conflict);
    }

我是否应该简单地允许操作通过,如果没有冲突则允许成功添加到数据库中,或者如果存在冲突则允许抛出异常?

更糟糕的是什么?这两个调用数据库,一个用于检查实体是否存在,第二个用于插入新实体...或者在内存中创建新实体并分配所有属性的开销,只是为了让它异常,因为有冲突?数据库的负担与服务器上的不必要的负担?

0 个答案:

没有答案