49 lines
1.7 KiB
C#
49 lines
1.7 KiB
C#
using EnvelopeGenerator.Domain.Entities;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace DigitalData.UserManager.Infrastructure.Repositories
|
|
{
|
|
public class EGDbContext : DbContext
|
|
{
|
|
public EGDbContext(DbContextOptions<EGDbContext> options) : base(options)
|
|
{
|
|
}
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
modelBuilder.Entity<Config>().HasNoKey();
|
|
|
|
modelBuilder.Entity<EnvelopeReceiver>()
|
|
.HasKey(er => new { er.EnvelopeId, er.ReceiverId });
|
|
|
|
modelBuilder.Entity<EnvelopeDocument>();
|
|
modelBuilder.Entity<DocumentReceiverElement>();
|
|
modelBuilder.Entity<DocumentStatus>();
|
|
modelBuilder.Entity<EmailTemplate>();
|
|
modelBuilder.Entity<Envelope>();
|
|
modelBuilder.Entity<EnvelopeCertificate>();
|
|
modelBuilder.Entity<EnvelopeHistory>();
|
|
modelBuilder.Entity<EnvelopeType>();
|
|
modelBuilder.Entity<Receiver>();
|
|
modelBuilder.Entity<UserReceiver>();
|
|
|
|
// Configure the one-to-many relationship of Envelope
|
|
modelBuilder.Entity<Envelope>()
|
|
.HasMany(e => e.Documents)
|
|
.WithOne()
|
|
.HasForeignKey(ed => ed.EnvelopeId);
|
|
|
|
modelBuilder.Entity<Envelope>()
|
|
.HasMany(e => e.Receivers)
|
|
.WithOne()
|
|
.HasForeignKey(er => er.EnvelopeId);
|
|
|
|
modelBuilder.Entity<Envelope>()
|
|
.HasMany(e => e.History)
|
|
.WithOne()
|
|
.HasForeignKey(eh => eh.EnvelopeId);
|
|
|
|
base.OnModelCreating(modelBuilder);
|
|
}
|
|
}
|
|
} |