I am not able to change a foreingkey field in the database. In my case, the objects (TypeEndereco = 3 and Endereco = 2) already exist.
Follow the template (simple):
public class Endereco
{
public int Id { get; set; }
public string Cep { get; set; }
public string Logradouro { get; set; }
public string Bairro { get; set; }
public string Cidade { get; set; }
public string Uf { get; set; }
public TipoEndereco Tipo { get; set; }
}
public class TipoEndereco
{
public int Id { get; set; }
public string Nome { get; set; }
}
I am changing the following address data form:
TipoEnderecoBLO teblo = new TipoEnderecoBLO();
EnderecoBLO eblo = new EnderecoBLO();
TipoEndereco te = new TipoEndereco();
te.Id = 3;
Endereco e = new Endereco();
e.Bairro = "Casa Grande";
e.Cep = "22.723-002";
e.Cidade = "Rio de Janeiro";
e.Logradouro = "Estrada do Mapuá";
e.Uf = "RJ";
e.Tipo = te;//aqui estou mudando o tipo de endereço
e.Id = 2;
eblo.Update(e);
When you send the command:
_context.Entry(endereco).State = EntityState.Modified;
_context.SaveChanges();
Some address data is changed, but the address type (ID_type) is not changed in the database.
Can anyone help me?