aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Entities/DatabaseContext.cs
blob: 19df32c60b413ce9bb5d7829331cf97bd89e6637 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using Microsoft.EntityFrameworkCore;

namespace Timeline.Entities
{
    public class DatabaseContext : DbContext
    {
        public DatabaseContext(DbContextOptions<DatabaseContext> options)
            : base(options)
        {

        }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1062:Validate arguments of public methods")]
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<User>().Property(e => e.Version).HasDefaultValue(0);
            modelBuilder.Entity<User>().HasIndex(e => e.Name).IsUnique();
        }

        public DbSet<User> Users { get; set; } = default!;
        public DbSet<UserAvatar> UserAvatars { get; set; } = default!;
        public DbSet<UserDetail> UserDetails { get; set; } = default!;
        public DbSet<TimelineEntity> Timelines { get; set; } = default!;
        public DbSet<TimelinePostEntity> TimelinePosts { get; set; } = default!;
    }
}