I have the classes:
public class Estado {
public int Id { get; set; }
public string Nome { get; set; }
public string Uf{ get; set; }
public ICollection<Cidade> Cidade { get; set; }
}
public class Cidade {
public int Id { get; set; }
public string Nome { get; set; }
public Estado Estado { get; set; }
public ICollection<Endereco> Enderecos { get; set; }
}
public class Endereco {
public int Id { get; set; }
// Algumas Propriedades
public Cidade Cidade { get; set; }
public ICollection<Fornecedor> Fornecedores { get; set; }
}
public class Fornecedor {
public int Id { get; set; }
// Algumas Propriedades
public virtual Endereco Endereco { get; set; }
}
I can save Fornecedor
normally with your Endereco
, Cidade
and Estado
.
At the Edit time I can not access the data from Cidade
and Estado
from Endereco
.
I'm using the following code in Controller.
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
var fornecedor = _db.Fornecedores.Include("Endereco").FirstOrDefault(x => x.Id == id);
if (fornecedor == null) return HttpNotFound();
var model = new FornecedorViewModel
{
Fornecedor = fornecedor,
Endereco = fornecedor.Endereco
};
return View(model);
}
I tried to put Include
Cidade
, but the error saying that Fornecedor
does not have a declaration for this navigation property.