Ciao a tutti,

sto lavorando su una webapp scritta in .net con mvc. Si parla di immobili e in particolare sto nella scheda "piani". In questa scheda insieme ai dettagli del piano vorrei poter caricare una foto.

Per adesso sto lavorando per aggiungere la foto solo nel momento della modifica delle specifiche del piano.

il codice che ho inserito è questo :

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "Id_Immobile,Id_Piano,Codice,Livello,Nome,Descrizi one,Note")] Tan_Piano tan_piano
, HttpPostedFileBase file)
{
if (ModelState.IsValid)
{




if (file != null && file.ContentLength > 0)
{
db.Tan_Piano.Edit(tan_piano);
db.Save();
var fileName = Path.GetFileName(file.FileName);
var doc = new Tan_Documento()
{
Id = Guid.NewGuid(),
Nome = fileName,
ContentType = file.ContentType,
Data = file.ToArray(),
Id_TipoFile = (int)TipoFileEnum.Foto
};


db.Tan_Documento.Add(doc);
tan_piano.Id_Foto = doc.Id;
db.Save();
}

else
{
db.Tan_Piano.Edit(tan_piano, new[]{ "Id_Foto"});
db.Save();
}


return RedirectToAction("Details", "Immobile", new { id = tan_piano.Id_Immobile });

}
ViewBag.piano = tan_piano;
return View(tan_piano);
}

Nel mio DB c'è una tabella "documenti" che prende come fk le gli ID delle tabelle in cui voglio inserire una foto.

A me sembra tutto giusto (ovviamente XD ) ma quando provo a salvare mi da

Eccezione di tipo 'System.InvalidOperationException' in EntityFramework.dll non gestita nel codice utente

Qualcuno ha qualche idea?