138 lines
5.2 KiB
C#
138 lines
5.2 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace BelegeingangDatabase;
|
|
|
|
public partial class BelegeingangContext : DbContext
|
|
{
|
|
public BelegeingangContext()
|
|
{
|
|
}
|
|
|
|
public BelegeingangContext(DbContextOptions<BelegeingangContext> options)
|
|
: base(options)
|
|
{
|
|
}
|
|
|
|
public virtual DbSet<Attachment> Attachments { get; set; }
|
|
|
|
public virtual DbSet<Content> Contents { get; set; }
|
|
|
|
public virtual DbSet<Email> Emails { get; set; }
|
|
|
|
public virtual DbSet<Client> clients { get; set; }
|
|
|
|
public virtual DbSet<Requirement> requirements { get; set; }
|
|
|
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
|
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see https://go.microsoft.com/fwlink/?LinkId=723263.
|
|
=> optionsBuilder.UseMySql("server=10.1.10.30;database=paperlessadd;uid=paperless;pwd=JD7Y2TgJ@Y%aGv", Microsoft.EntityFrameworkCore.ServerVersion.Parse("10.5.12-mariadb"));
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
modelBuilder
|
|
.UseCollation("utf8mb4_general_ci")
|
|
.HasCharSet("utf8mb4");
|
|
|
|
modelBuilder.Entity<Attachment>(entity =>
|
|
{
|
|
entity.HasKey(e => e.Id).HasName("PRIMARY");
|
|
|
|
entity.HasIndex(e => e.EmailMessageId, "IX_Attachments_EmailMessageId");
|
|
|
|
entity.HasIndex(e => e.ParentId, "IX_Attachments_ParentId");
|
|
|
|
entity.Property(e => e.Id).HasColumnType("int(11)");
|
|
entity.Property(e => e.Checksum)
|
|
.IsRequired()
|
|
.HasMaxLength(32)
|
|
.HasDefaultValueSql("''");
|
|
entity.Property(e => e.ContentId).HasMaxLength(255);
|
|
entity.Property(e => e.ContentType)
|
|
.IsRequired()
|
|
.HasMaxLength(100);
|
|
entity.Property(e => e.EmailMessageId).HasColumnType("int(11)");
|
|
entity.Property(e => e.FileName)
|
|
.IsRequired()
|
|
.HasMaxLength(255);
|
|
entity.Property(e => e.ParentId).HasColumnType("int(11)");
|
|
|
|
entity.HasOne(d => d.EmailMessage).WithMany(p => p.Attachments).HasForeignKey(d => d.EmailMessageId);
|
|
|
|
});
|
|
|
|
modelBuilder.Entity<Content>(entity =>
|
|
{
|
|
entity.HasKey(e => e.Id).HasName("PRIMARY");
|
|
|
|
entity.HasIndex(e => e.AttachmentEntityId, "IX_Contents_AttachmentEntityId").IsUnique();
|
|
|
|
entity.Property(e => e.Id).HasColumnType("int(11)");
|
|
entity.Property(e => e.AttachmentEntityId).HasColumnType("int(11)");
|
|
entity.Property(e => e.Content1)
|
|
.IsRequired()
|
|
.HasColumnName("Content");
|
|
entity.Property(e => e.ContentLength).HasColumnType("bigint(20)");
|
|
|
|
entity.HasOne(d => d.AttachmentEntity).WithOne(p => p.Content).HasForeignKey<Content>(d => d.AttachmentEntityId);
|
|
});
|
|
|
|
modelBuilder.Entity<Client>(entity =>
|
|
{
|
|
entity.HasKey(e => e.Id).HasName("PRIMARY");
|
|
|
|
|
|
entity.Property(e => e.Id).HasColumnType("int(11)");
|
|
entity.Property(e => e.PaperlessUserId).HasColumnType("int(11)")
|
|
.IsRequired();
|
|
entity.Property(e => e.Name)
|
|
.IsRequired()
|
|
.HasMaxLength(45)
|
|
.HasDefaultValueSql("''");
|
|
});
|
|
|
|
modelBuilder.Entity<Requirement>(entity =>
|
|
{
|
|
entity.HasKey(e => e.Id).HasName("PRIMARY");
|
|
|
|
|
|
entity.Property(e => e.Id).HasColumnType("int(11)");
|
|
entity.Property(e => e.DocumentTypeId).HasColumnType("int(11)").HasColumnName("DocumentType")
|
|
.IsRequired();
|
|
entity.Property(e => e.Field)
|
|
.IsRequired()
|
|
.HasMaxLength(45)
|
|
.HasDefaultValueSql("''");
|
|
entity.Property(e => e.FieldId).HasColumnType("int(11)");
|
|
entity.Property(e => e.Hinweis).HasColumnType("text");
|
|
entity.Property(e => e.Required).HasDefaultValueSql("'0'");
|
|
|
|
});
|
|
|
|
modelBuilder.Entity<Email>(entity =>
|
|
{
|
|
entity.HasKey(e => e.Id).HasName("PRIMARY");
|
|
|
|
entity.Property(e => e.Id).HasColumnType("int(11)");
|
|
entity.Property(e => e.Body).IsRequired();
|
|
entity.Property(e => e.Date).HasMaxLength(6);
|
|
entity.Property(e => e.From)
|
|
.IsRequired()
|
|
.HasMaxLength(255);
|
|
entity.Property(e => e.MessageId)
|
|
.IsRequired()
|
|
.HasMaxLength(255);
|
|
entity.Property(e => e.Subject)
|
|
.IsRequired()
|
|
.HasMaxLength(500);
|
|
entity.Property(e => e.To)
|
|
.IsRequired()
|
|
.HasMaxLength(255);
|
|
entity.Property(e => e.Status).HasColumnType("int(11)")
|
|
.IsRequired();
|
|
});
|
|
|
|
OnModelCreatingPartial(modelBuilder);
|
|
}
|
|
|
|
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
|
|
} |