1
resposta

Geração automática de chave estrangeira

Ao final deste vídeo percebo que propriedades com o nome "Id" são caracterizadas automaticamente pelo EntityCore Framework como Chaves primárias(quando a tabela não existe previamente), mas o quê é caracterizado para a geração automática para a geração de Chaves Estrangeiras?

1 resposta

Olá, Germano

No curso estamos usando a técnica Code First, então o Entity Framerowk cria as chaves estrangeiras por inferência:

public class ItemPedido : BaseModel
{   
    public Pedido Pedido { get; private set; }
    public Produto Produto { get; private set; }
    public int Quantidade { get; private set; }
}

Veja que Pedido e Produto já são entidades do modelo, então o EF sabe que precisa criar essas chaves estrangeiras na tabela ItemPedido.

Por outro lado, se você quiser ignorar uma propriedade, você precisa anotá-la com o atributo [NotMapped]:

public class ItemPedido : BaseModel
{   
    public Pedido Pedido { get; private set; }
    public Produto Produto { get; private set; }
    [NotMapped]
    public Produto ProdutoSemChaveEstrangeira { get; private set; }
    public int Quantidade { get; private set; }
}