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

Implementação do Modelo de Dado

Estou com uma duvida mais conceitual.

No desenho do modelo vocês definiu que o 1 Cadastro tem n Pedido.

Mais implementação ficou:

modelBuilder.Entity().HasOne(t => t.Cadastro).WithOne(t => t.Pedido).IsRequired(); modelBuilder.Entity().HasOne(p => p.Pedido);

Está certo isto!? Me parece estranho

Att

Douglas

2 respostas
solução!

Olá, Douglas

Pela configuração feita no modelo, um pedido está associado a 1 cadastro, e um cadastro está associado a 1 pedido:

    public class Cadastro : BaseModel
    {
        public virtual Pedido Pedido { get; set; }


    public class Pedido : BaseModel
    {
        public virtual Cadastro Cadastro { get; private set; }

Já no modelBuilder, especificamos que nesse relacionamento a coluna Cadastro da tabela Pedido é obrigatória, e assim a chave estrangeira é criada na tabela de Pedidos.

            ...
            modelBuilder.Entity<Pedido>().HasOne(t => t.Cadastro).WithOne(t => t.Pedido).IsRequired();
            ...
            modelBuilder.Entity<Cadastro>().HasOne(p => p.Pedido);
            ...

Apenas lembrando que essa é apenas uma das formas de se criar uma chave estrangeira na configuração do modelo do Entity Framework. Existem outras, como por exemplo, especificar um atributo [ForeignKey] na classe Pedido ou usando um método HasForeignKey() com o objeto modelBuilder.

Obrigado, esclarecimento Marcelo