对于我看到的代码,我还不太确定问题可能是什么。即便如此,我们可以采取一种办法来确定问题可能是什么。
首先让我们简化代码。
public static Guid AddPlanItem(PlanItemAddViewModel viewModel, IEnumerable<HttpPostedFileBase> images)
{
Guid planIdGUID = Guid.NewGuid();
using (var context = new ApplicationDbContext())
{
PlanItem planItem = context.Plans.Create();
planItem.PlanId = planIdGUID;
planItem.CreateDate = DateTime.Now;
planItem.PlanIdTitle = viewModel.PlanIdTitle;
planItem.PlanTitle = viewModel.PlanTitle;
planItem.SolutionTitle = viewModel.SolutionTitle;
planItem.ActivityCodeId = viewModel.ActivityCodeId;
planItem.RegionId = viewModel.RegionId;
planItem.OperatingCenterId = viewModel.OperatingCenterId;
planItem.DistrictId = viewModel.DistrictId;
planItem.ServiceCenterId = viewModel.ServiceCenterId;
planItem.PlannerRACFId = viewModel.PlannerRACFId;
planItem.SeverityId = viewModel.SeverityId;
planItem.Description = viewModel.Description;
planItem.PreviousPlan = viewModel.PreviousPlan;
context.Plans.Add(planItem);
context.SaveChanges();
}
return planIdGUID;
}
-
通过删除try/catch,我们可以看到任何可能的异常
-
通过简化保存逻辑,我们可以确定问题所在。如果这个代码一切正常,那么我们就可以包含保存图像的片段以及它的行为。
第二,如果一切正常,我们可以添加下一块,图像,但这一次与保存更改以外的颊。
foreach (HttpPostedFileBase image in images)
{
var imageSubmit = new PlanItemImage
{
PlanId = planIdGUID,
PlanImageId = Guid.NewGuid(),
Image = image.ConvertToByte(),
ImageTitle = image.FileName
};
context.Image.Add(imageSubmit);
}
context.SaveChanges();
更新