0
我在ASP.NET MVC中使用插入存储过程并上传文件时遇到问题。
ASP.NET MVC - EF存储过程和文件上传。没有回滚
我在try-catch块三个部分组成:
- 生成的文件名。
- 执行插入存储过程。
- 保存文件。
生成文件名,将该文件名插入到数据库中并保存具有该名称的文件。
问题:
如果在执行插入存储过程成功和文件保存失败,插入的行仍然导致没有照片的事件。
如果我切换顺序,先保存文件,然后插入到数据库中,该问题仍然存在。如果文件保存成功 S和插入失败,有没有活动的照片。
示例代码(只是一个例证)。
try
{
//Generate a new file name.
var newFileName = Guid.NewGuid().ToString();
//Execute stored procedore.
Database.Insert_Event(newFileName, title, description, dateTime);
//Save event photo.
eventPhoto.SaveAs(newFileName);
}
catch (DataException exception)
{
//Exception message when executing insert SP.
}
catch (IOException exception)
{
//Exception message when saving file.
}
问:
使用存储过程,如果该文件保存失败或如何恢复文件的保存,如果插入失败插入时如何恢复数据库插入?