/
qwiklly
/
arc-server
Обзор
Документация
Войти
/
qwiklly
/
arc-server
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
trunk
src/AppRemoteConfig/Models/Database/ApplicationContext.cs
42 строки
2 KB
CLTanuki
feat(#3, #7): scope, based on current user
10 янв 2024, 18:20
10 янв 2024, 18:20
0019562
Код
Авторство
О чём код?
namespace AppRemoteConfig.Models.Database { using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; public class ApplicationContext : IdentityDbContext<AppUser, IdentityRole<Guid>, Guid> { public virtual DbSet<AppUser> AppUsers { get; set; } public virtual DbSet<Organization> Organizations { get; set; } public virtual DbSet<Application> Applications { get; set; } public virtual DbSet<AppVersion> Versions { get; set; } public virtual DbSet<ValueFlag> ValueFlags { get; set; } public ApplicationContext(DbContextOptions<ApplicationContext> options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<AppUser>() .HasMany(e => e.Organizations) .WithMany(e => e.AppUsers) .UsingEntity<OrganizationAccess>( l => l.HasOne<Organization>(e => e.Organization).WithMany(e => e.OrganizationAccesses).HasForeignKey(e => e.OrganizationId), r => r.HasOne<AppUser>(e => e.AppUser).WithMany(e => e.OrganizationAccesses).HasForeignKey(e => e.AppUserId), j => j.Property(e => e.GrantedAt).HasDefaultValueSql("CURRENT_TIMESTAMP")); } public virtual void SetModified<T>(T entity) where T : class { Entry(entity).State = EntityState.Modified; } } }