Skip to content

Commit

Permalink
feat: Aplica mapeamento das propriedades de navegação
Browse files Browse the repository at this point in the history
A DataAnnotation ForeignKey serve para definirmos o nome
da chave estrangeira relacionada à tabela. O padrão é
NomeClasseId, ao colocarmos dessa forma o EF consegue
mapear quais classes estão relacionadas automaticamente.

Além disso, define-se uma Navigation Property para cada
classe relacionada, o que garante que carreguemos os dados
por meio de JOINs ao invés de SELECTs separados
  • Loading branch information
renebentes committed Sep 21, 2022
1 parent d2c1b45 commit 430bac0
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions Blog/Models/Post.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
using System.ComponentModel.DataAnnotations.Schema;

namespace Blog.Models;

[Table(nameof(Post))]
public class Post : ModelBase
{
public User Author { get; set; } = new();

[ForeignKey(nameof(AuthorId))]
public int AuthorId { get; set; }

public string Body { get; set; } = string.Empty;

public Category Category { get; set; } = new();

[ForeignKey(nameof(CategoryId))]
public int CategoryId { get; set; }

public DateTime CreateDate { get; set; }
Expand Down

0 comments on commit 430bac0

Please sign in to comment.