belegeingang-database/BelegeingangDatabase/BelegeingangContext.cs

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);
}