feat: All models added to game service
This commit is contained in:
@@ -20,6 +20,9 @@ public class ApplicationContext : DbContext
|
||||
public required DbSet<RankSkillRule> RankSkillRules { get; set; }
|
||||
public required DbSet<PlayerSkill> PlayerSkills { get; set; }
|
||||
public required DbSet<PlayerMission> PlayerMissions { get; set; }
|
||||
public required DbSet<Dialogue> Dialogues { get; set; }
|
||||
public required DbSet<DialogueMessage> DialogueMessages { get; set; }
|
||||
public required DbSet<DialogueMessageResponseOption> DialogueMessageResponseOptions { get; set; }
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
@@ -63,6 +66,12 @@ public class ApplicationContext : DbContext
|
||||
.WithMany(m => m.ChildMissions)
|
||||
.HasForeignKey(m => m.ParentMissionId)
|
||||
.IsRequired(false);
|
||||
// Dialogue relationship for Mission
|
||||
modelBuilder.Entity<Mission>()
|
||||
.HasOne(m => m.Dialogue)
|
||||
.WithOne(d => d.Mission)
|
||||
.HasForeignKey<Mission>(m => m.DialogueId)
|
||||
.IsRequired(false);
|
||||
|
||||
// MissionRankRule configurations
|
||||
modelBuilder.Entity<MissionRankRule>()
|
||||
@@ -129,5 +138,45 @@ public class ApplicationContext : DbContext
|
||||
.HasOne(pm => pm.Mission)
|
||||
.WithMany(m => m.PlayerMissions)
|
||||
.HasForeignKey(pm => pm.MissionId);
|
||||
|
||||
// Dialogue configurations
|
||||
modelBuilder.Entity<Dialogue>()
|
||||
.HasOne(d => d.Mission)
|
||||
.WithOne(m => m.Dialogue)
|
||||
.HasForeignKey<Dialogue>(d => d.MissionId)
|
||||
.IsRequired();
|
||||
|
||||
// DialogueMessage configurations
|
||||
modelBuilder.Entity<DialogueMessage>()
|
||||
.HasOne(dm => dm.InitialDialogue)
|
||||
.WithMany()
|
||||
.HasForeignKey(dm => dm.InitialDialogueId)
|
||||
.IsRequired(false)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
modelBuilder.Entity<DialogueMessage>()
|
||||
.HasOne(dm => dm.InterimDialogue)
|
||||
.WithMany()
|
||||
.HasForeignKey(dm => dm.InterimDialogueId)
|
||||
.IsRequired(false)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
modelBuilder.Entity<DialogueMessage>()
|
||||
.HasOne(dm => dm.EndDialogue)
|
||||
.WithMany()
|
||||
.HasForeignKey(dm => dm.EndDialogueId)
|
||||
.IsRequired(false)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
|
||||
// DialogueMessageResponseOption configurations
|
||||
modelBuilder.Entity<DialogueMessageResponseOption>()
|
||||
.HasOne(dmro => dmro.ParentDialogueMessage)
|
||||
.WithMany(dm => dm.DialogueMessageResponseOptions)
|
||||
.HasForeignKey(dmro => dmro.ParentDialogueMessageId)
|
||||
.IsRequired();
|
||||
modelBuilder.Entity<DialogueMessageResponseOption>()
|
||||
.HasOne(dmro => dmro.DestinationDialogueMessage)
|
||||
.WithMany()
|
||||
.HasForeignKey(dmro => dmro.DestinationDialogueMessageId)
|
||||
.IsRequired(false)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user