【发布时间】:2016-11-14 21:07:39
【问题描述】:
我在数据访问层中有 executenonquery 方法。当 executenonquery 失败时,我需要处理业务逻辑中的异常。 我在 BLL 中使用 Elmah 记录器。 ExecuteNonQuery 方法没有返回值, 那么我应该在 BLL 中检查什么条件以记录任何异常
BLL:
//构造函数
public FormService(ISettings settings, ILogger logger, IFormDataServiceWorker formDataService)
: base(settings, logger)
{
this._formDataService = formDataService;
}
//method calling DAL
public string GetRefNo(FormData formData)
{
foreach (var formFieldData in formFieldDataList)
{
this._formDataService.SubmitFormData(formFieldData);
}
}
DAL 实施:
public void SubmitFormData(FormFieldDTO formFieldData)
{
using (var sqlConn = new SqlConnection(Configuration.DBConnection))
{
sqlConn.Open();
using (var sqlcmd = new SqlCommand("usp_SubmissionDataInsert", sqlConn))
{
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.Parameters.Add("@SubmissionId", SqlDbType.UniqueIdentifier).Value = formFieldData.SubmissionId;
sqlcmd.Parameters.Add("@FieldId", SqlDbType.SmallInt).Value = formFieldData.FieldId;
sqlcmd.Parameters.Add("@FieldTitle", SqlDbType.VarChar, 500).Value = formFieldData.FieldTitle;
sqlcmd.Parameters.Add("@FieldData", SqlDbType.VarChar, -1).Value = formFieldData.FieldValue;
sqlcmd.Parameters.Add("@FieldName", SqlDbType.VarChar, 200).Value = formFieldData.FieldName;
sqlcmd.ExecuteNonQuery();
}
}
}
【问题讨论】:
标签: c# model-view-controller elmah