//
using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using Plugin.Database.DB;
using WingsAPI.Data.Character;
using WingsAPI.Data.Families;
using WingsAPI.Data.Miniland;
using WingsEmu.DTOs.Bonus;
using WingsEmu.DTOs.Buffs;
using WingsEmu.DTOs.Inventory;
using WingsEmu.DTOs.Items;
using WingsEmu.DTOs.Mates;
using WingsEmu.DTOs.Quests;
using WingsEmu.DTOs.Quicklist;
using WingsEmu.DTOs.Respawns;
using WingsEmu.DTOs.Skills;
using WingsEmu.DTOs.Titles;
namespace Plugin.Database.Migrations
{
[DbContext(typeof(GameContext))]
partial class GameContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("Relational:MaxIdentifierLength", 63)
.HasAnnotation("ProductVersion", "5.0.7")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
modelBuilder.Entity("Plugin.Database.Auth.ClientVersion.AuthorizedClientVersionEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property("ClientVersion")
.IsRequired()
.HasColumnType("text");
b.Property("DllHash")
.IsRequired()
.HasColumnType("text");
b.Property("ExecutableHash")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("authorized_client_versions", "_config_auth");
});
modelBuilder.Entity("Plugin.Database.Auth.HWID.BlacklistedHwidEntity", b =>
{
b.Property("HardwareId")
.HasColumnType("text");
b.Property("Comment")
.IsRequired()
.HasColumnType("text");
b.Property("Judge")
.IsRequired()
.HasColumnType("text");
b.HasKey("HardwareId");
b.ToTable("blacklisted_hardware_ids", "_config_auth");
});
modelBuilder.Entity("Plugin.Database.Bazaar.DbBazaarItemEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property("Amount")
.HasColumnType("integer");
b.Property("CharacterId")
.HasColumnType("bigint");
b.Property("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property("DayExpiryAmount")
.HasColumnType("smallint");
b.Property("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property("ExpiryDate")
.HasColumnType("timestamp without time zone");
b.Property("IsPackage")
.HasColumnType("boolean");
b.Property("ItemInstance")
.HasColumnType("jsonb");
b.Property("PricePerItem")
.HasColumnType("bigint");
b.Property("SaleFee")
.HasColumnType("bigint");
b.Property("SoldAmount")
.HasColumnType("integer");
b.Property("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.Property("UsedMedal")
.HasColumnType("boolean");
b.HasKey("Id");
b.HasIndex("CharacterId");
b.ToTable("items", "bazaar");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountBanEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property("AccountId")
.HasColumnType("bigint");
b.Property("End")
.HasColumnType("timestamp without time zone");
b.Property("JudgeName")
.HasColumnType("text");
b.Property("Reason")
.HasColumnType("text");
b.Property("Start")
.HasColumnType("timestamp without time zone");
b.Property("TargetName")
.HasColumnType("text");
b.Property("UnlockReason")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("AccountId");
b.ToTable("accounts_bans", "accounts");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property("Authority")
.HasColumnType("smallint");
b.Property("BankMoney")
.HasColumnType("bigint");
b.Property("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property("IsPrimaryAccount")
.HasColumnType("boolean");
b.Property("Language")
.HasColumnType("integer");
b.Property("MasterAccountId")
.HasColumnType("uuid");
b.Property("Name")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property("Password")
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnType("character varying(255)");
b.Property("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("Id");
b.ToTable("accounts", "accounts");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountPenaltyEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property("AccountId")
.HasColumnType("bigint");
b.Property("JudgeName")
.HasColumnType("text");
b.Property("PenaltyType")
.HasColumnType("smallint");
b.Property("Reason")
.HasColumnType("text");
b.Property("RemainingTime")
.HasColumnType("integer");
b.Property("Start")
.HasColumnType("timestamp without time zone");
b.Property("TargetName")
.HasColumnType("text");
b.Property("UnlockReason")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("AccountId");
b.ToTable("accounts_penalties", "accounts");
});
modelBuilder.Entity("Plugin.Database.Entities.PlayersData.CharacterRelationEntity", b =>
{
b.Property("CharacterId")
.HasColumnType("bigint");
b.Property("RelatedCharacterId")
.HasColumnType("bigint");
b.Property("RelatedName")
.HasColumnType("text");
b.Property("RelationType")
.HasColumnType("smallint");
b.HasKey("CharacterId", "RelatedCharacterId");
b.HasIndex("RelatedCharacterId");
b.ToTable("characters_relations", "characters");
});
modelBuilder.Entity("Plugin.Database.Entities.PlayersData.DbCharacter", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property("AccountId")
.HasColumnType("bigint");
b.Property("Act4Dead")
.HasColumnType("integer");
b.Property("Act4Kill")
.HasColumnType("integer");
b.Property("Act4Points")
.HasColumnType("integer");
b.Property("Act5RespawnType")
.HasColumnType("integer");
b.Property>("ActiveQuests")
.HasColumnType("jsonb");
b.Property("ArenaWinner")
.HasColumnType("integer");
b.Property("Biography")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property>("Bonus")
.HasColumnType("jsonb");
b.Property("BuffBlocked")
.HasColumnType("boolean");
b.Property("Class")
.HasColumnType("smallint");
b.Property>("CompletedPeriodicQuests")
.HasColumnType("jsonb");
b.Property>("CompletedQuests")
.HasColumnType("jsonb");
b.Property>("CompletedScripts")
.HasColumnType("jsonb");
b.Property>("CompletedTimeSpaces")
.HasColumnType("jsonb");
b.Property("Compliment")
.HasColumnType("smallint");
b.Property("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property("Dignity")
.HasColumnType("real");
b.Property("EmoticonsBlocked")
.HasColumnType("boolean");
b.Property>("EquippedStuffs")
.HasColumnType("jsonb");
b.Property("ExchangeBlocked")
.HasColumnType("boolean");
b.Property("Faction")
.HasColumnType("smallint");
b.Property("FamilyRequestBlocked")
.HasColumnType("boolean");
b.Property("FriendRequestBlocked")
.HasColumnType("boolean");
b.Property("Gender")
.HasColumnType("smallint");
b.Property("Gold")
.HasColumnType("bigint");
b.Property("GroupRequestBlocked")
.HasColumnType("boolean");
b.Property("HairColor")
.HasColumnType("smallint");
b.Property("HairStyle")
.HasColumnType("smallint");
b.Property("HeroChatBlocked")
.HasColumnType("boolean");
b.Property("HeroLevel")
.HasColumnType("smallint");
b.Property("HeroXp")
.HasColumnType("bigint");
b.Property("HideHat")
.HasColumnType("boolean");
b.Property("Hp")
.HasColumnType("integer");
b.Property("HpBlocked")
.HasColumnType("boolean");
b.Property>("Inventory")
.HasColumnType("jsonb");
b.Property("IsPartnerAutoRelive")
.HasColumnType("boolean");
b.Property("IsPetAutoRelive")
.HasColumnType("boolean");
b.Property("JobLevel")
.HasColumnType("smallint");
b.Property("JobLevelXp")
.HasColumnType("bigint");
b.Property>("LearnedSkills")
.HasColumnType("jsonb");
b.Property("Level")
.HasColumnType("smallint");
b.Property("LevelXp")
.HasColumnType("bigint");
b.Property("LifetimeStats")
.HasColumnType("jsonb");
b.Property("MapId")
.HasColumnType("integer");
b.Property("MapX")
.HasColumnType("smallint");
b.Property("MapY")
.HasColumnType("smallint");
b.Property("MasterPoints")
.HasColumnType("integer");
b.Property("MasterTicket")
.HasColumnType("integer");
b.Property("MaxPartnerCount")
.HasColumnType("smallint");
b.Property("MaxPetCount")
.HasColumnType("smallint");
b.Property("MinilandInviteBlocked")
.HasColumnType("boolean");
b.Property("MinilandMessage")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property>("MinilandObjects")
.HasColumnType("jsonb");
b.Property("MinilandPoint")
.HasColumnType("smallint");
b.Property("MinilandState")
.HasColumnType("smallint");
b.Property("MouseAimLock")
.HasColumnType("boolean");
b.Property("Mp")
.HasColumnType("integer");
b.Property("Name")
.HasMaxLength(30)
.IsUnicode(false)
.HasColumnType("character varying(30)");
b.Property>("NosMates")
.HasColumnType("jsonb");
b.Property>("PartnerInventory")
.HasColumnType("jsonb");
b.Property>("PartnerWarehouse")
.HasColumnType("jsonb");
b.Property("Prefix")
.HasMaxLength(25)
.HasColumnType("character varying(25)");
b.Property("QuickGetUp")
.HasColumnType("boolean");
b.Property>("Quicklist")
.HasColumnType("jsonb");
b.Property("RagePoint")
.HasColumnType("bigint");
b.Property("RaidRestrictionDto")
.HasColumnType("jsonb");
b.Property("RainbowBattleLeaverBusterDto")
.HasColumnType("jsonb");
b.Property("Reput")
.HasColumnType("bigint");
b.Property("RespawnType")
.HasColumnType("integer");
b.Property("ReturnPoint")
.HasColumnType("jsonb");
b.Property("Slot")
.HasColumnType("smallint");
b.Property("SpPointsBasic")
.HasColumnType("integer");
b.Property("SpPointsBonus")
.HasColumnType("integer");
b.Property>("StaticBuffs")
.HasColumnType("jsonb");
b.Property("TalentLose")
.HasColumnType("integer");
b.Property("TalentSurrender")
.HasColumnType("integer");
b.Property("TalentWin")
.HasColumnType("integer");
b.Property>("Titles")
.HasColumnType("jsonb");
b.Property("UiBlocked")
.HasColumnType("boolean");
b.Property("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.Property("WhisperBlocked")
.HasColumnType("boolean");
b.HasKey("Id");
b.HasIndex("AccountId");
b.ToTable("characters", "characters");
});
modelBuilder.Entity("Plugin.Database.Entities.ServerData.DbTimeSpaceRecord", b =>
{
b.Property("TimeSpaceId")
.HasColumnType("bigint");
b.Property("CharacterName")
.HasColumnType("text");
b.Property("Date")
.HasColumnType("timestamp without time zone");
b.Property("Record")
.HasColumnType("bigint");
b.HasKey("TimeSpaceId");
b.ToTable("time_space_records", "characters");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamily", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property("Achievements")
.HasColumnType("jsonb");
b.Property("AssistantCanGetHistory")
.HasColumnType("boolean");
b.Property("AssistantCanInvite")
.HasColumnType("boolean");
b.Property("AssistantCanNotice")
.HasColumnType("boolean");
b.Property("AssistantCanShout")
.HasColumnType("boolean");
b.Property("AssistantWarehouseAuthorityType")
.HasColumnType("smallint");
b.Property("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property("Experience")
.HasColumnType("bigint");
b.Property("Faction")
.HasColumnType("smallint");
b.Property("HeadGender")
.HasColumnType("smallint");
b.Property("Level")
.HasColumnType("smallint");
b.Property("MemberCanGetHistory")
.HasColumnType("boolean");
b.Property("MemberWarehouseAuthorityType")
.HasColumnType("smallint");
b.Property("Message")
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property("Missions")
.HasColumnType("jsonb");
b.Property("Name")
.IsRequired()
.HasMaxLength(30)
.IsUnicode(true)
.HasColumnType("character varying(30)");
b.Property("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.Property("Upgrades")
.HasColumnType("jsonb");
b.HasKey("Id");
b.ToTable("families", "families");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamilyLog", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property("Actor")
.HasMaxLength(32)
.HasColumnType("character varying(32)");
b.Property("Argument1")
.HasMaxLength(16)
.HasColumnType("character varying(16)");
b.Property("Argument2")
.HasMaxLength(16)
.HasColumnType("character varying(16)");
b.Property("Argument3")
.HasMaxLength(16)
.HasColumnType("character varying(16)");
b.Property("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property("FamilyId")
.HasColumnType("bigint");
b.Property("FamilyLogType")
.HasColumnType("smallint");
b.Property("Timestamp")
.HasColumnType("timestamp without time zone");
b.Property("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("Id");
b.HasIndex("FamilyId");
b.ToTable("families_logs", "families");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamilyMembership", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property("Authority")
.HasColumnType("smallint");
b.Property("CharacterId")
.HasColumnType("bigint");
b.Property("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property("DailyMessage")
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property("Experience")
.HasColumnType("bigint");
b.Property("FamilyId")
.HasColumnType("bigint");
b.Property("JoinDate")
.HasColumnType("timestamp without time zone");
b.Property("LastOnlineDate")
.HasColumnType("timestamp without time zone");
b.Property("Title")
.HasColumnType("smallint");
b.Property("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("Id");
b.HasIndex("CharacterId");
b.HasIndex("FamilyId");
b.ToTable("families_memberships", "families");
});
modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseItemEntity", b =>
{
b.Property("FamilyId")
.HasColumnType("bigint");
b.Property("Slot")
.HasColumnType("smallint");
b.Property("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property("ItemInstance")
.HasColumnType("jsonb");
b.Property("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("FamilyId", "Slot");
b.ToTable("families_warehouses", "families");
});
modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseLogEntity", b =>
{
b.Property("FamilyId")
.HasColumnType("bigint");
b.Property("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property>("LogEntries")
.HasColumnType("jsonb");
b.Property("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("FamilyId");
b.ToTable("families_warehouses_logs", "families");
});
modelBuilder.Entity("Plugin.Database.Mail.DbCharacterMail", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property("Date")
.HasColumnType("timestamp without time zone");
b.Property("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property("ItemInstance")
.HasColumnType("jsonb");
b.Property("MailGiftType")
.HasColumnType("integer");
b.Property("ReceiverId")
.HasColumnType("bigint");
b.Property("SenderName")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("Id");
b.HasIndex("ReceiverId");
b.ToTable("characters_mails", "mails");
});
modelBuilder.Entity("Plugin.Database.Mail.DbCharacterNote", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property("Date")
.HasColumnType("timestamp without time zone");
b.Property("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property("EquipmentPackets")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property("IsOpened")
.HasColumnType("boolean");
b.Property("IsSenderCopy")
.HasColumnType("boolean");
b.Property("Message")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property("ReceiverId")
.HasColumnType("bigint");
b.Property("ReceiverName")
.HasColumnType("text");
b.Property("SenderClass")
.HasColumnType("smallint");
b.Property("SenderGender")
.HasColumnType("smallint");
b.Property("SenderHairColor")
.HasColumnType("smallint");
b.Property("SenderHairStyle")
.HasColumnType("smallint");
b.Property("SenderId")
.HasColumnType("bigint");
b.Property("SenderName")
.HasColumnType("text");
b.Property("Title")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("Id");
b.HasIndex("ReceiverId");
b.HasIndex("SenderId");
b.ToTable("characters_notes", "mails");
});
modelBuilder.Entity("Plugin.Database.Warehouse.AccountWarehouseItemEntity", b =>
{
b.Property("AccountId")
.HasColumnType("bigint");
b.Property("Slot")
.HasColumnType("smallint");
b.Property("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property("ItemInstance")
.HasColumnType("jsonb");
b.Property("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("AccountId", "Slot");
b.ToTable("accounts_warehouse", "accounts");
});
modelBuilder.Entity("Plugin.Database.Bazaar.DbBazaarItemEntity", b =>
{
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "DbCharacter")
.WithMany("BazaarItem")
.HasForeignKey("CharacterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("DbCharacter");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountBanEntity", b =>
{
b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "AccountEntity")
.WithMany("AccountBans")
.HasForeignKey("AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("AccountEntity");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountPenaltyEntity", b =>
{
b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "AccountEntity")
.WithMany("AccountPenalties")
.HasForeignKey("AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("AccountEntity");
});
modelBuilder.Entity("Plugin.Database.Entities.PlayersData.CharacterRelationEntity", b =>
{
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Source")
.WithMany("SourceRelations")
.HasForeignKey("CharacterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Target")
.WithMany("TargetRelations")
.HasForeignKey("RelatedCharacterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Source");
b.Navigation("Target");
});
modelBuilder.Entity("Plugin.Database.Entities.PlayersData.DbCharacter", b =>
{
b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "AccountEntity")
.WithMany("Character")
.HasForeignKey("AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("AccountEntity");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamilyLog", b =>
{
b.HasOne("Plugin.Database.Families.DbFamily", "Family")
.WithMany("FamilyLogs")
.HasForeignKey("FamilyId")
.OnDelete(DeleteBehavior.NoAction)
.IsRequired();
b.Navigation("Family");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamilyMembership", b =>
{
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "DbCharacter")
.WithMany("FamilyCharacter")
.HasForeignKey("CharacterId")
.OnDelete(DeleteBehavior.SetNull);
b.HasOne("Plugin.Database.Families.DbFamily", "Family")
.WithMany("FamilyCharacters")
.HasForeignKey("FamilyId")
.OnDelete(DeleteBehavior.NoAction)
.IsRequired();
b.Navigation("DbCharacter");
b.Navigation("Family");
});
modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseItemEntity", b =>
{
b.HasOne("Plugin.Database.Families.DbFamily", "Family")
.WithMany("WarehouseItems")
.HasForeignKey("FamilyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Family");
});
modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseLogEntity", b =>
{
b.HasOne("Plugin.Database.Families.DbFamily", "Family")
.WithOne("WarehouseLogs")
.HasForeignKey("Plugin.Database.Families.FamilyWarehouseLogEntity", "FamilyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Family");
});
modelBuilder.Entity("Plugin.Database.Mail.DbCharacterMail", b =>
{
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Receiver")
.WithMany("ReceivedMails")
.HasForeignKey("ReceiverId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Receiver");
});
modelBuilder.Entity("Plugin.Database.Mail.DbCharacterNote", b =>
{
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Receiver")
.WithMany("ReceivedNotes")
.HasForeignKey("ReceiverId")
.OnDelete(DeleteBehavior.NoAction)
.IsRequired();
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Sender")
.WithMany("SentNotes")
.HasForeignKey("SenderId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Receiver");
b.Navigation("Sender");
});
modelBuilder.Entity("Plugin.Database.Warehouse.AccountWarehouseItemEntity", b =>
{
b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "Account")
.WithMany("WarehouseItems")
.HasForeignKey("AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Account");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountEntity", b =>
{
b.Navigation("AccountBans");
b.Navigation("AccountPenalties");
b.Navigation("Character");
b.Navigation("WarehouseItems");
});
modelBuilder.Entity("Plugin.Database.Entities.PlayersData.DbCharacter", b =>
{
b.Navigation("BazaarItem");
b.Navigation("FamilyCharacter");
b.Navigation("ReceivedMails");
b.Navigation("ReceivedNotes");
b.Navigation("SentNotes");
b.Navigation("SourceRelations");
b.Navigation("TargetRelations");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamily", b =>
{
b.Navigation("FamilyCharacters");
b.Navigation("FamilyLogs");
b.Navigation("WarehouseItems");
b.Navigation("WarehouseLogs");
});
#pragma warning restore 612, 618
}
}
}