forked from AcaMate/AcaMate_API
1. 컨트롤러, 서비스(인터페이스), 레포지토리(인터페이스) 추가 2. scoped 등록 3. 클래스 관련 모델 등록 4. ClassInfo API 등록
70 lines
2.3 KiB
C#
70 lines
2.3 KiB
C#
using Back.Program.Common.Model;
|
|
using Back.Program.Models.Entities;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Version = Back.Program.Models.Entities.Version;
|
|
|
|
namespace Back.Program.Common.Data
|
|
{
|
|
//database=AcaMate;
|
|
public class AppDbContext: DbContext
|
|
{
|
|
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
|
|
{
|
|
}
|
|
|
|
//MARK: API
|
|
public DbSet<APIHeader> APIHeader { get; set; }
|
|
|
|
//MARK: Program
|
|
public DbSet<Version> Version { get; set; }
|
|
public DbSet<Academy> Academy { get; set; }
|
|
public DbSet<RefreshToken> RefreshToken { get; set; }
|
|
|
|
//MARK: USER
|
|
public DbSet<Login> Login { get; set; }
|
|
public DbSet<User_Academy> UserAcademy { get; set; }
|
|
public DbSet<User> User { get; set; }
|
|
public DbSet<Permission> Permission { get; set; }
|
|
// public DbSet<Token> Token { get; set; }
|
|
public DbSet<Location> Location { get; set; }
|
|
public DbSet<Contact> Contact { get; set; }
|
|
|
|
//MARK: PUSH
|
|
public DbSet<DBPayload> DBPayload { get; set; }
|
|
public DbSet<PushCabinet> PushCabinet { get; set; }
|
|
|
|
|
|
//MARK: CLASS
|
|
public DbSet<Class_Info> Class_Info { get; set; }
|
|
public DbSet<Class_Attendance> Class_Attendance { get; set; }
|
|
public DbSet<Class_Map> Class_Map { get; set; }
|
|
|
|
//MARK: CHATTING
|
|
// public DbSet<>
|
|
|
|
|
|
//MARK: LOG
|
|
public DbSet<LogPush> LogPush { get; set; }
|
|
public DbSet<LogUser> LogUser { get; set; }
|
|
public DbSet<LogProject> LogProject { get; set; }
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
modelBuilder.Entity<User_Academy>()
|
|
.HasKey(ua => new { ua.uid, ua.bid });
|
|
|
|
// modelBuilder.Entity<PushCabinet>()
|
|
// .HasKey(c => new { c.uid, c.bid, c.pid });
|
|
|
|
modelBuilder.Entity<DBPayload>()
|
|
.HasKey(p => new { p.bid, p.pid });
|
|
|
|
// modelBuilder.Entity<LogPush>().HasNoKey();
|
|
|
|
modelBuilder.Entity<Class_Attendance>()
|
|
.HasKey(ca => new { ca.cid, ca.uid, ca.attendace_date});
|
|
modelBuilder.Entity<Class_Map>()
|
|
.HasKey(ca => new { ca.cid, ca.uid});
|
|
}
|
|
}
|
|
} |