1
0
mirror of synced 2025-01-19 00:04:05 +01:00
TaikoLocalServer/GameDatabase/Context/TaikoDbContextPartial.cs

63 lines
2.2 KiB
C#
Raw Normal View History

using GameDatabase.Entities;
using Microsoft.EntityFrameworkCore;
using SharedProject.Enums;
namespace GameDatabase.Context;
2022-08-28 18:41:37 +08:00
public partial class TaikoDbContext
{
public virtual DbSet<DanScoreDatum> DanScoreData { get; set; } = null!;
public virtual DbSet<DanStageScoreDatum> DanStageScoreData { get; set; } = null!;
2022-09-18 02:06:11 +08:00
public virtual DbSet<AiScoreDatum> AiScoreData { get; set; } = null!;
public virtual DbSet<AiSectionScoreDatum> AiSectionScoreData { get; set; } = null!;
2022-08-28 18:41:37 +08:00
partial void OnModelCreatingPartial(ModelBuilder modelBuilder)
{
modelBuilder.Entity<DanScoreDatum>(entity =>
{
entity.HasKey(e => new { e.Baid, e.DanId });
2022-08-29 20:46:28 +08:00
2022-08-28 18:41:37 +08:00
entity.HasOne(d => d.Ba)
.WithMany()
.HasPrincipalKey(p => p.Baid)
.HasForeignKey(d => d.Baid)
.OnDelete(DeleteBehavior.Cascade);
2022-08-29 20:46:28 +08:00
entity.Property(e => e.ClearState).HasConversion<uint>().HasDefaultValue(DanClearState.NotClear);
2022-08-28 18:41:37 +08:00
});
modelBuilder.Entity<DanStageScoreDatum>(entity =>
{
entity.HasKey(e => new { e.Baid, e.DanId, e.SongNumber });
entity.HasOne(d => d.Parent)
2022-08-29 21:03:49 +08:00
.WithMany(p => p.DanStageScoreData)
2022-10-27 00:42:41 +08:00
.HasPrincipalKey(p => new { p.Baid, p.DanId })
.HasForeignKey(d => new { d.Baid, d.DanId })
2022-08-28 18:41:37 +08:00
.OnDelete(DeleteBehavior.Cascade);
});
2022-09-18 02:06:11 +08:00
modelBuilder.Entity<AiScoreDatum>(entity =>
{
entity.HasKey(e => new { e.Baid, e.SongId, e.Difficulty });
entity.HasOne(d => d.Ba)
.WithMany()
.HasPrincipalKey(p => p.Baid)
.HasForeignKey(d => d.Baid)
.OnDelete(DeleteBehavior.Cascade);
});
2022-10-27 00:42:41 +08:00
2022-09-18 02:06:11 +08:00
modelBuilder.Entity<AiSectionScoreDatum>(entity =>
{
entity.HasKey(e => new { e.Baid, e.SongId, e.Difficulty, e.SectionIndex });
entity.HasOne(d => d.Parent)
.WithMany(p => p.AiSectionScoreData)
2022-10-27 00:42:41 +08:00
.HasPrincipalKey(p => new { p.Baid, p.SongId, p.Difficulty })
.HasForeignKey(d => new { d.Baid, d.SongId, d.Difficulty })
2022-09-18 02:06:11 +08:00
.OnDelete(DeleteBehavior.Cascade);
});
2022-08-28 18:41:37 +08:00
}
}