Olá!
Tive um problema para criar o Add Migration e por isso alterei o código segundo uma sugestão aqui do forúm:
modelBuilder.Entity<Pedido>().HasOne(t => t.Cadastro).WithOne(t => t.Pedido).HasForeignKey<Cadastro>(t => t.Id).IsRequired();
Após essa alteração, o código funcionou e consegui gerar as tabelas, porém a Foreign Key de Cadastro não está aparecendo
Segue o código completo do Application Context:
using CasaDoCodigo.Models;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace CasaDoCodigo
{
public class ApplicationContext : DbContext
{
public ApplicationContext(DbContextOptions options) : base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Produto>().HasKey(t => t.Id);
modelBuilder.Entity<Cadastro>().HasKey(t => t.Id);
modelBuilder.Entity<Cadastro>().HasOne(t => t.Pedido);
modelBuilder.Entity<Pedido>().HasKey(t => t.Id);
modelBuilder.Entity<Pedido>().HasOne(t => t.Cadastro).WithOne(t => t.Pedido).IsRequired();
modelBuilder.Entity<Pedido>().HasOne(t => t.Cadastro).WithOne(t => t.Pedido).HasForeignKey<Cadastro>(t => t.Id).IsRequired();
modelBuilder.Entity<ItemPedido>().HasKey(t => t.Id);
modelBuilder.Entity<ItemPedido>().HasOne(t => t.Pedido);
modelBuilder.Entity<ItemPedido>().HasOne(t => t.Produto);
}
}
}
Alguém sabe como resolver isso?