| Name | Message | Date |
|---|---|---|
| 📁 Migrations | 11 days ago | |
| 📄 QuestionnaireContext.cs | 11 days ago | |
| 📄 StartupMigration.cs | 13 days ago |
📄
MatDenDagen/Infrastructure/Storage/Database/QuestionnaireContext.cs
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
27
28
29
30
31
32
33
34
35
36
37
38
39
using MatDenDagen.Models; using Microsoft.EntityFrameworkCore; namespace MatDenDagen.Infrastructure.Storage.Database; public sealed class QuestionnaireContext(DbContextOptions<QuestionnaireContext> options) : DbContext(options) { public required DbSet<Question> Questions { get; init; } public required DbSet<Submission> Submissions { get; init; } public required DbSet<Participant> Participants { get; init; } protected override void OnModelCreating(ModelBuilder modelBuilder) { var questionBuilder = modelBuilder.Entity<Question>(); questionBuilder.HasKey(q => q.Id); questionBuilder.Property(q => q.Text); var submissionBuilder = modelBuilder.Entity<Submission>(); submissionBuilder.HasKey(s => s.Id); submissionBuilder.HasMany(s => s.Answers).WithOne(); submissionBuilder.HasMany(s => s.Uploads).WithOne(); submissionBuilder.HasOne<Participant>().WithMany().HasForeignKey(s => s.Participant); var answerBuilder = modelBuilder.Entity<Answer>(); answerBuilder.HasKey(a => a.Id); answerBuilder.Property(a => a.Text); answerBuilder.HasOne<Question>().WithMany().HasForeignKey(a => a.QuestionId); var uploadBuilder = modelBuilder.Entity<Upload>(); uploadBuilder.HasKey(u => u.Id); uploadBuilder.Property(u => u.Name); var participantBuilder = modelBuilder.Entity<Participant>(); participantBuilder.HasKey(p => p.Id); participantBuilder.Property(p => p.Name); participantBuilder.HasIndex(p => p.PhoneNumber).IsUnique(); } }