using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata; using Perfusion; namespace JetKarmaBot.Models { [Transient] public partial class KarmaContext : DbContext { public KarmaContext() { } public KarmaContext(DbContextOptions options) : base(options) { } public virtual DbSet Awards { get; set; } public virtual DbSet AwardTypes { get; set; } public virtual DbSet Chats { get; set; } public virtual DbSet Users { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(entity => { entity.ToTable("award"); entity.HasIndex(e => e.AwardId) .HasName("awardid_UNIQUE") .IsUnique(); entity.HasIndex(e => e.AwardTypeId) .HasName("fk_awardtype_idx"); entity.HasIndex(e => e.ChatId) .HasName("fk_chat_idx"); entity.HasIndex(e => e.FromId) .HasName("fk_from_idx"); entity.HasIndex(e => e.ToId) .HasName("fk_to_idx"); entity.Property(e => e.AwardId) .HasColumnName("awardid") .HasColumnType("int(11)"); entity.Property(e => e.Amount) .HasColumnName("amount") .HasColumnType("tinyint(3)") .HasDefaultValueSql("'1'"); entity.Property(e => e.AwardTypeId) .HasColumnName("awardtypeid") .HasColumnType("int(11)"); entity.Property(e => e.ChatId) .HasColumnName("chatid") .HasColumnType("bigint(20)"); entity.Property(e => e.Date) .HasColumnName("date") .HasColumnType("datetime") .HasDefaultValueSql("CURRENT_TIMESTAMP"); entity.Property(e => e.FromId) .HasColumnName("fromid") .HasColumnType("bigint(20)"); entity.Property(e => e.ToId) .HasColumnName("toid") .HasColumnType("bigint(20)"); entity.HasOne(d => d.AwardType) .WithMany(p => p.Awards) .HasForeignKey(d => d.AwardTypeId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_awardtype"); entity.HasOne(d => d.Chat) .WithMany(p => p.Awards) .HasForeignKey(d => d.ChatId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("a_fk_chat"); entity.HasOne(d => d.From) .WithMany(p => p.AwardsFrom) .HasForeignKey(d => d.FromId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_from"); entity.HasOne(d => d.To) .WithMany(p => p.AwardsTo) .HasForeignKey(d => d.ToId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_to"); }); modelBuilder.Entity(entity => { entity.ToTable("awardtype"); entity.HasIndex(e => e.AwardTypeId) .HasName("at_awardtypeid_UNIQUE") .IsUnique(); entity.HasIndex(e => new { e.CommandName, e.ChatId }) .HasName("un_cnandchat") .IsUnique(); entity.Property(e => e.AwardTypeId) .HasColumnName("awardtypeid") .HasColumnType("int(11)"); entity.Property(e => e.CommandName) .IsRequired() .HasColumnName("commandname") .HasColumnType("varchar(35)"); entity.Property(e => e.Description) .IsRequired() .HasColumnName("description") .HasColumnType("text"); entity.Property(e => e.NominativeName) .IsRequired() .HasColumnName("name") .HasColumnType("varchar(32)"); entity.Property(e => e.AccusativeName) .IsRequired() .HasColumnName("accname") .HasColumnType("varchar(32)"); entity.Property(e => e.Symbol) .IsRequired() .HasColumnName("symbol") .HasColumnType("varchar(16)"); entity.HasOne(d => d.Chat) .WithMany(p => p.AwardTypes) .HasForeignKey(d => d.ChatId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("at_fk_chat"); }); modelBuilder.Entity(entity => { entity.ToTable("chat"); entity.Property(e => e.ChatId) .HasColumnName("chatid") .HasColumnType("bigint(20)"); entity.Property(e => e.Locale) .IsRequired() .HasColumnName("locale") .HasColumnType("varchar(10)") .HasDefaultValueSql("'ru-RU'"); entity.Property(e => e.IsAdministrator) .HasColumnName("isadministrator") .HasColumnType("tinyint(1)") .HasDefaultValueSql("'0'"); }); modelBuilder.Entity(entity => { entity.ToTable("user"); entity.Property(e => e.UserId) .HasColumnName("userid") .HasColumnType("bigint(20)"); entity.Property(e => e.Username) .HasColumnName("username") .HasColumnType("varchar(45)"); }); } } }