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
.