Blog

Форк
0
/
PostConfiguration.cs 
27 строк · 871.0 Байт
1
using Blog.Domain.Entities;
2
using Microsoft.EntityFrameworkCore;
3
using Microsoft.EntityFrameworkCore.Metadata.Builders;
4

5
namespace Blog.Persistence.Configurations;
6

7
public sealed class PostConfiguration : IEntityTypeConfiguration<Post>
8
{
9
    public void Configure(EntityTypeBuilder<Post> builder)
10
    {
11
        builder
12
            .HasMany(post => post.Tags)
13
            .WithMany(tag => tag.Posts);
14

15
        builder
16
            .HasOne(post => post.User)
17
            .WithMany(user => user.Posts)
18
            .HasForeignKey(post => post.UserId);
19

20
        builder
21
            .HasMany(post => post.FavoriteByUsers)
22
            .WithMany(user => user.FavoritePosts)
23
            .UsingEntity<FavoritePost>(
24
                l => l.HasOne<User>().WithMany().HasForeignKey(e => e.UserId),
25
                r => r.HasOne<Post>().WithMany().HasForeignKey(e => e.PostId));
26
    }
27
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.