Como o entity Entende que ProdutoID é uma FK de produto? é alguma convenção de nomenclatura?
como informar outro campo como código por Exemplo queria que CodigoProduto fosse minha PK da tabela de Produtos.
Como o entity Entende que ProdutoID é uma FK de produto? é alguma convenção de nomenclatura?
como informar outro campo como código por Exemplo queria que CodigoProduto fosse minha PK da tabela de Produtos.
Boas @Paulo,
Por convenção o EF entende que para a tua Navigation Property (Propriedade de Navegação) se criares uma propriedade com o nome idêntico ao Tipo desta (navigation) adicionando o Sufixo "Id" ("Produto" + "Id") esta será a tua Foreign Key. Exp.:
public class MinhaClasse {
...
public int ProdutoID { get; set; }
public virtual Produto ProdutoRelacionado { get; set; }
...
}
Para conseguires definir uma outra propriedade como a tua Foreign Key tens que fazê-lo explicitamente utilizando anotações. Exp.:
public class MinhaClasse {
...
[ForeignKey("ProdutoRelacionado ")]
public int CodigoProcuto { get; set; }
public virtual Produto ProdutoRelacionado { get; set; }
...
}
Onde estás a dizer explicitamente que esta propriedade será a chave estrangeira para o relacionamento a ser criado com a tabela "Produto".
P.S: caso me tenha perdido um pouco na explicação, sempre podes ler mais aqui: https://www.safaribooksonline.com/library/view/programming-entity-framework/9781449317867/ch04s02.html