尝试编辑Document对象时遇到问题。
我遇到类似这样的异常
发生了引用完整性约束冲突:关系一端的'Documento.Id'的属性值与另一端的'File.FileId'的属性值不匹配。'< / p>
有推荐的解决方案吗?
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "Id,Nombre,Descripcion,CajaId,AreaId")] Documento documento, HttpPostedFileBase upload)
{
if (ModelState.IsValid)
{
if (upload != null && upload.ContentLength > 0)
{
if (documento.File != null)
{
db.Files.Remove(documento.File);
db.SaveChanges();
}
var pdf = new File
{
FileName = System.IO.Path.GetFileName(upload.FileName),
FileType = FileType.Pdf,
ContentType = upload.ContentType,
DocumentoId = documento.Id
};
using (var reader = new System.IO.BinaryReader(upload.InputStream))
{
pdf.Content = reader.ReadBytes(upload.ContentLength);
}
documento.File = pdf;
}
db.Entry(documento).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.AreaId = new SelectList(db.Areas, "Id", "Nombre", documento.AreaId);
ViewBag.CajaId = new SelectList(db.Cajas, "Id", "CodigoUnico", documento.CajaId);
return View(documento);
}