Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Update 1 : 1

Boa tarde,

Estou tentando realizar um update de 1 para 1 e não estou conseguindo, no caso estou tentando alterar o relacionamento mas o valor(chave estrangeira) não estão sendo alterados. Alguem poderia me passar um exemplo?

Obrigado :D

4 respostas

Olá, Paulo. Tudo bom com você?

Você poderia compartilhar conosco o seu modelo? Em seu contexto, você sobrescreveu o método OnModelCreating?

Abs.

Obrigado pela resposta, eu não sobrescrevi o OnModelCreating. Para deixar claro, esse projeto não é o do curso, é um projeto de escola. Procurei em alguns sites mas não achei... Outro detalhe é windows forms, então estou usando o .netframework.

 public class Context : DbContext
    {
        public Context() : base ("conexao")
        {

        }

        public DbSet<Categoria> Categorias { get; set; }
}
solução!

Oi, Paulo. (Peço desculpas pela demora, não pude visitar o fórum nestes dias)

E a classe Categoria, como está? Você poderia compartilhar conosco o relacionamento?

Enquanto isto, um exemplo que encontrei aqui (em inglês) traz este caso:

public class Funcionario
{
    public int FuncionarioID { get; set; }
    public string Nome { get; set; }

    //Propriedade de navegação para o endereço do funcionário
    public virtual EnderecoFuncionario EnderecoFuncionario { get; set; }
}

public class EnderecoFuncionario
{
    public int FuncionarioID { get; set; }
    public string Endereco { get; set; }

    //Propriedade de navegação para o funcionário
    public virtual Funcionario Funcionario { get; set; }
}

Desta forma, fica difícil para o Entity Framework saber qual classe depende de outra. Uma forma de resolver isto, com DataAnnotation é o uso do atributo ForeignKey na classe EnderecoFuncionario (este campo também é a chave em EnderecoFuncionario):

public class EnderecoFuncionario
{
    [Key, ForeignKey("Funcionario")] 
    public int FuncionarioID { get; set; }
    public string Endereco { get; set; }

    //Propriedade de navegação para o funcionário
    public virtual Funcionario Funcionario { get; set; }
}

Obrigado :D .