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

Erro na etapa "Add-Migration Cliente"

Prezados,

Segui todos os passos das vídeo aula do instrutor, mas não consigo adicionar a ultima migração. Ocorre o seguinte erro :

The child/dependent side could not be determined for the one-to-one relationship that was detected between 'Endereco.Cliente' and 'Cliente.EnderecoDeEntrega'. To identify the child/dependent side of the relationship, configure the foreign key property. See http://go.microsoft.com/fwlink/?LinkId=724062 for more details.

Segue abaixo minhas classes de endereço e cliente :

 public class Endereco
    {
        public int Numero { get; internal set; }
        public string Logradouro { get; internal set; }
        public string Complemento { get; internal set; }
        public string Bairro { get; internal set; }
        public Cliente Cliente { get; set; }
    }
 public class Cliente
    {
        public int id { get; internal set; }
        public string Nome { get; internal set; }
        public Endereco EnderecoDeEntrega { get;  set; }
    }

Segue tb minha LojaContext :

  class LojaContext : DbContext
    {
        public DbSet<Produto> Produtos { get; set; }
        public DbSet<Compra> Compras { get; set; }
        public DbSet<Promocao> Promocoes { get; set; }
        public DbSet<Cliente> Clientes { get; set; }

        public LojaContext()
        {

        }

        public LojaContext(DbContextOptions<LojaContext> options) : base(options)
        { }


        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder
                .Entity<PromocaoProduto>()
                .HasKey(pp => new { pp.PromocaoId, pp.ProdutoId });
            base.OnModelCreating(modelBuilder);

            modelBuilder
                .Entity<Endereco>()
                .ToTable("Enderecos");

            modelBuilder
                .Entity<Endereco>()
                .Property<int>("ClienteId");

            modelBuilder
                .Entity<Endereco>()
                .HasKey("ClienteId");
        }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {

            if (!optionsBuilder.IsConfigured)
            {

                optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=LojaDB;Trusted_Connection=true;");
            }


        }
      }
    }
2 respostas

Prezados,

Consegui identificar o erro :

No caso não segui a convenção do I maiusculo na propriedade Id da classe "Cliente"

solução!

Boa Felipe! Acho que foi de boa encontrar o problema