feat(EGDbContext): Eindeutige Indizes und Beziehungen für die Entitäten „Envelope“, „Receiver“ und „DocumentStatus“ hinzufügen
- Eindeutiger Index für „Envelope.Uuid“ hinzugefügt - Eindeutige Indizes für „Receiver.Signature“ und „Receiver.EmailAddress“ hinzugefügt - Beziehungen von „DocumentStatus“ zu „Envelope.Uuid“ und „Receiver“ (Signature und EmailAddress) konfiguriert - Entitätsbeschränkungen für die Datenintegrität verbessert
This commit is contained in:
parent
fb07d9151f
commit
20b6b328f5
@ -97,10 +97,17 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
||||
modelBuilder.Entity<DocumentReceiverElement>();
|
||||
modelBuilder.Entity<DocumentStatus>();
|
||||
modelBuilder.Entity<EmailTemplate>();
|
||||
modelBuilder.Entity<Envelope>();
|
||||
modelBuilder.Entity<Envelope>()
|
||||
.HasIndex(e => e.Uuid)
|
||||
.IsUnique();
|
||||
modelBuilder.Entity<EnvelopeHistory>();
|
||||
modelBuilder.Entity<EnvelopeType>();
|
||||
modelBuilder.Entity<Receiver>();
|
||||
modelBuilder.Entity<Receiver>()
|
||||
.HasIndex(e => e.Signature)
|
||||
.IsUnique();
|
||||
modelBuilder.Entity<Receiver>()
|
||||
.HasIndex(e => e.EmailAddress)
|
||||
.IsUnique();
|
||||
modelBuilder.Entity<EmailOut>();
|
||||
|
||||
// Configure the one-to-many relationship of Envelope
|
||||
@ -145,6 +152,24 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
||||
.HasForeignKey(erro => erro.AddedWho)
|
||||
.HasPrincipalKey(r => r.EmailAddress);
|
||||
|
||||
modelBuilder.Entity<DocumentStatus>()
|
||||
.HasOne(ds => ds.Envelope)
|
||||
.WithMany()
|
||||
.HasForeignKey(ds => ds.EnvelopeId)
|
||||
.HasPrincipalKey(e => e.Uuid);
|
||||
|
||||
modelBuilder.Entity<DocumentStatus>()
|
||||
.HasOne(ds => ds.Receiver)
|
||||
.WithMany()
|
||||
.HasForeignKey(ds => ds.ReceiverId)
|
||||
.HasPrincipalKey(e => e.Signature);
|
||||
|
||||
modelBuilder.Entity<DocumentStatus>()
|
||||
.HasOne(ds => ds.Receiver)
|
||||
.WithMany()
|
||||
.HasForeignKey(ds => ds.ReceiverId)
|
||||
.HasPrincipalKey(e => e.EmailAddress);
|
||||
|
||||
// Configure entities to handle database triggers
|
||||
void AddTrigger<T>() where T : class => _triggers
|
||||
.Where(t => t.Key == typeof(T).Name)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user