// using System; using Data.MigrationContext; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace Data.Migrations.Postgresql { [DbContext(typeof(PostgresqlDatabaseContext))] [Migration("20210628160226_AddWeaponReferenceAndServerIdToEFACSnapshot")] partial class AddWeaponReferenceAndServerIdToEFACSnapshot { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) .HasAnnotation("ProductVersion", "3.1.10") .HasAnnotation("Relational:MaxIdentifierLength", 63); modelBuilder.Entity("Data.Models.Client.EFACSnapshotVector3", b => { b.Property("ACSnapshotVector3Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("SnapshotId") .HasColumnType("integer"); b.Property("Vector3Id") .HasColumnType("integer"); b.HasKey("ACSnapshotVector3Id"); b.HasIndex("SnapshotId"); b.HasIndex("Vector3Id"); b.ToTable("EFACSnapshotVector3"); }); modelBuilder.Entity("Data.Models.Client.EFClient", b => { b.Property("ClientId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("AliasLinkId") .HasColumnType("integer"); b.Property("Connections") .HasColumnType("integer"); b.Property("CurrentAliasId") .HasColumnType("integer"); b.Property("FirstConnection") .HasColumnType("timestamp without time zone"); b.Property("LastConnection") .HasColumnType("timestamp without time zone"); b.Property("Level") .HasColumnType("integer"); b.Property("Masked") .HasColumnType("boolean"); b.Property("NetworkId") .HasColumnType("bigint"); b.Property("Password") .HasColumnType("text"); b.Property("PasswordSalt") .HasColumnType("text"); b.Property("TotalConnectionTime") .HasColumnType("integer"); b.HasKey("ClientId"); b.HasIndex("AliasLinkId"); b.HasIndex("CurrentAliasId"); b.HasIndex("NetworkId") .IsUnique(); b.ToTable("EFClients"); }); modelBuilder.Entity("Data.Models.Client.EFClientKill", b => { b.Property("KillId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("AttackerId") .HasColumnType("integer"); b.Property("Damage") .HasColumnType("integer"); b.Property("DeathOriginVector3Id") .HasColumnType("integer"); b.Property("DeathType") .HasColumnType("integer"); b.Property("Fraction") .HasColumnType("double precision"); b.Property("HitLoc") .HasColumnType("integer"); b.Property("IsKill") .HasColumnType("boolean"); b.Property("KillOriginVector3Id") .HasColumnType("integer"); b.Property("Map") .HasColumnType("integer"); b.Property("ServerId") .HasColumnType("bigint"); b.Property("VictimId") .HasColumnType("integer"); b.Property("ViewAnglesVector3Id") .HasColumnType("integer"); b.Property("VisibilityPercentage") .HasColumnType("double precision"); b.Property("Weapon") .HasColumnType("integer"); b.Property("WeaponReference") .HasColumnType("text"); b.Property("When") .HasColumnType("timestamp without time zone"); b.HasKey("KillId"); b.HasIndex("AttackerId"); b.HasIndex("DeathOriginVector3Id"); b.HasIndex("KillOriginVector3Id"); b.HasIndex("ServerId"); b.HasIndex("VictimId"); b.HasIndex("ViewAnglesVector3Id"); b.ToTable("EFClientKills"); }); modelBuilder.Entity("Data.Models.Client.EFClientMessage", b => { b.Property("MessageId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("ClientId") .HasColumnType("integer"); b.Property("Message") .HasColumnType("text"); b.Property("SentIngame") .HasColumnType("boolean"); b.Property("ServerId") .HasColumnType("bigint"); b.Property("TimeSent") .HasColumnType("timestamp without time zone"); b.HasKey("MessageId"); b.HasIndex("ClientId"); b.HasIndex("ServerId"); b.HasIndex("TimeSent"); b.ToTable("EFClientMessages"); }); modelBuilder.Entity("Data.Models.Client.Stats.EFACSnapshot", b => { b.Property("SnapshotId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("ClientId") .HasColumnType("integer"); b.Property("CurrentSessionLength") .HasColumnType("integer"); b.Property("CurrentStrain") .HasColumnType("double precision"); b.Property("CurrentViewAngleId") .HasColumnType("integer"); b.Property("Deaths") .HasColumnType("integer"); b.Property("Distance") .HasColumnType("double precision"); b.Property("EloRating") .HasColumnType("double precision"); b.Property("HitDestinationId") .HasColumnType("integer"); b.Property("HitLocation") .HasColumnType("integer"); b.Property("HitOriginId") .HasColumnType("integer"); b.Property("HitType") .HasColumnType("integer"); b.Property("Hits") .HasColumnType("integer"); b.Property("Kills") .HasColumnType("integer"); b.Property("LastStrainAngleId") .HasColumnType("integer"); b.Property("RecoilOffset") .HasColumnType("double precision"); b.Property("ServerId") .HasColumnType("bigint"); b.Property("SessionAngleOffset") .HasColumnType("double precision"); b.Property("SessionAverageSnapValue") .HasColumnType("double precision"); b.Property("SessionSPM") .HasColumnType("double precision"); b.Property("SessionScore") .HasColumnType("integer"); b.Property("SessionSnapHits") .HasColumnType("integer"); b.Property("StrainAngleBetween") .HasColumnType("double precision"); b.Property("TimeSinceLastEvent") .HasColumnType("integer"); b.Property("WeaponId") .HasColumnType("integer"); b.Property("WeaponReference") .HasColumnType("text"); b.Property("When") .HasColumnType("timestamp without time zone"); b.HasKey("SnapshotId"); b.HasIndex("ClientId"); b.HasIndex("CurrentViewAngleId"); b.HasIndex("HitDestinationId"); b.HasIndex("HitOriginId"); b.HasIndex("LastStrainAngleId"); b.HasIndex("ServerId"); b.ToTable("EFACSnapshot"); }); modelBuilder.Entity("Data.Models.Client.Stats.EFClientHitStatistic", b => { b.Property("ClientHitStatisticId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("ClientId") .HasColumnType("integer"); b.Property("CreatedDateTime") .HasColumnType("timestamp without time zone"); b.Property("DamageInflicted") .HasColumnType("integer"); b.Property("DamageReceived") .HasColumnType("integer"); b.Property("DeathCount") .HasColumnType("integer"); b.Property("HitCount") .HasColumnType("integer"); b.Property("HitLocationId") .HasColumnType("integer"); b.Property("KillCount") .HasColumnType("integer"); b.Property("MeansOfDeathId") .HasColumnType("integer"); b.Property("ReceivedHitCount") .HasColumnType("integer"); b.Property("Score") .HasColumnType("integer"); b.Property("ServerId") .HasColumnType("bigint"); b.Property("SuicideCount") .HasColumnType("integer"); b.Property("UpdatedDateTime") .HasColumnType("timestamp without time zone"); b.Property("UsageSeconds") .HasColumnType("integer"); b.Property("WeaponAttachmentComboId") .HasColumnType("integer"); b.Property("WeaponId") .HasColumnType("integer"); b.HasKey("ClientHitStatisticId"); b.HasIndex("ClientId"); b.HasIndex("HitLocationId"); b.HasIndex("MeansOfDeathId"); b.HasIndex("ServerId"); b.HasIndex("WeaponAttachmentComboId"); b.HasIndex("WeaponId"); b.ToTable("EFClientHitStatistics"); }); modelBuilder.Entity("Data.Models.Client.Stats.EFClientRankingHistory", b => { b.Property("ClientRankingHistoryId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("ClientId") .HasColumnType("integer"); b.Property("CreatedDateTime") .HasColumnType("timestamp without time zone"); b.Property("Newest") .HasColumnType("boolean"); b.Property("PerformanceMetric") .HasColumnType("double precision"); b.Property("Ranking") .HasColumnType("integer"); b.Property("ServerId") .HasColumnType("bigint"); b.Property("UpdatedDateTime") .HasColumnType("timestamp without time zone"); b.Property("ZScore") .HasColumnType("double precision"); b.HasKey("ClientRankingHistoryId"); b.HasIndex("ClientId"); b.HasIndex("Ranking"); b.HasIndex("ServerId"); b.HasIndex("UpdatedDateTime"); b.HasIndex("ZScore"); b.ToTable("EFClientRankingHistory"); }); modelBuilder.Entity("Data.Models.Client.Stats.EFClientRatingHistory", b => { b.Property("RatingHistoryId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("ClientId") .HasColumnType("integer"); b.HasKey("RatingHistoryId"); b.HasIndex("ClientId"); b.ToTable("EFClientRatingHistory"); }); modelBuilder.Entity("Data.Models.Client.Stats.EFClientStatistics", b => { b.Property("ClientId") .HasColumnType("integer"); b.Property("ServerId") .HasColumnType("bigint"); b.Property("Active") .HasColumnType("boolean"); b.Property("AverageSnapValue") .HasColumnType("double precision"); b.Property("Deaths") .HasColumnType("integer"); b.Property("EloRating") .HasColumnType("double precision"); b.Property("Kills") .HasColumnType("integer"); b.Property("MaxStrain") .HasColumnType("double precision"); b.Property("RollingWeightedKDR") .HasColumnType("double precision"); b.Property("SPM") .HasColumnType("double precision"); b.Property("Skill") .HasColumnType("double precision"); b.Property("SnapHitCount") .HasColumnType("integer"); b.Property("TimePlayed") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.Property("ZScore") .HasColumnType("double precision"); b.HasKey("ClientId", "ServerId"); b.HasIndex("ServerId"); b.HasIndex("ZScore"); b.HasIndex("ClientId", "TimePlayed", "ZScore"); b.ToTable("EFClientStatistics"); }); modelBuilder.Entity("Data.Models.Client.Stats.EFHitLocationCount", b => { b.Property("HitLocationCountId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("EFClientStatisticsClientId") .HasColumnName("EFClientStatisticsClientId") .HasColumnType("integer"); b.Property("EFClientStatisticsServerId") .HasColumnName("EFClientStatisticsServerId") .HasColumnType("bigint"); b.Property("HitCount") .HasColumnType("integer"); b.Property("HitOffsetAverage") .HasColumnType("real"); b.Property("Location") .HasColumnType("integer"); b.Property("MaxAngleDistance") .HasColumnType("real"); b.HasKey("HitLocationCountId"); b.HasIndex("EFClientStatisticsServerId"); b.HasIndex("EFClientStatisticsClientId", "EFClientStatisticsServerId"); b.ToTable("EFHitLocationCounts"); }); modelBuilder.Entity("Data.Models.Client.Stats.EFRating", b => { b.Property("RatingId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("ActivityAmount") .HasColumnType("integer"); b.Property("Newest") .HasColumnType("boolean"); b.Property("Performance") .HasColumnType("double precision"); b.Property("Ranking") .HasColumnType("integer"); b.Property("RatingHistoryId") .HasColumnType("integer"); b.Property("ServerId") .HasColumnType("bigint"); b.Property("When") .HasColumnType("timestamp without time zone"); b.HasKey("RatingId"); b.HasIndex("RatingHistoryId"); b.HasIndex("ServerId"); b.HasIndex("Performance", "Ranking", "When"); b.HasIndex("When", "ServerId", "Performance", "ActivityAmount"); b.ToTable("EFRating"); }); modelBuilder.Entity("Data.Models.Client.Stats.Reference.EFHitLocation", b => { b.Property("HitLocationId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("CreatedDateTime") .HasColumnType("timestamp without time zone"); b.Property("Game") .HasColumnType("integer"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("UpdatedDateTime") .HasColumnType("timestamp without time zone"); b.HasKey("HitLocationId"); b.HasIndex("Name"); b.ToTable("EFHitLocations"); }); modelBuilder.Entity("Data.Models.Client.Stats.Reference.EFMap", b => { b.Property("MapId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("CreatedDateTime") .HasColumnType("timestamp without time zone"); b.Property("Game") .HasColumnType("integer"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("UpdatedDateTime") .HasColumnType("timestamp without time zone"); b.HasKey("MapId"); b.ToTable("EFMaps"); }); modelBuilder.Entity("Data.Models.Client.Stats.Reference.EFMeansOfDeath", b => { b.Property("MeansOfDeathId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("CreatedDateTime") .HasColumnType("timestamp without time zone"); b.Property("Game") .HasColumnType("integer"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("UpdatedDateTime") .HasColumnType("timestamp without time zone"); b.HasKey("MeansOfDeathId"); b.ToTable("EFMeansOfDeath"); }); modelBuilder.Entity("Data.Models.Client.Stats.Reference.EFWeapon", b => { b.Property("WeaponId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("CreatedDateTime") .HasColumnType("timestamp without time zone"); b.Property("Game") .HasColumnType("integer"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("UpdatedDateTime") .HasColumnType("timestamp without time zone"); b.HasKey("WeaponId"); b.HasIndex("Name"); b.ToTable("EFWeapons"); }); modelBuilder.Entity("Data.Models.Client.Stats.Reference.EFWeaponAttachment", b => { b.Property("WeaponAttachmentId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("CreatedDateTime") .HasColumnType("timestamp without time zone"); b.Property("Game") .HasColumnType("integer"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("UpdatedDateTime") .HasColumnType("timestamp without time zone"); b.HasKey("WeaponAttachmentId"); b.ToTable("EFWeaponAttachments"); }); modelBuilder.Entity("Data.Models.Client.Stats.Reference.EFWeaponAttachmentCombo", b => { b.Property("WeaponAttachmentComboId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Attachment1Id") .HasColumnType("integer"); b.Property("Attachment2Id") .HasColumnType("integer"); b.Property("Attachment3Id") .HasColumnType("integer"); b.Property("CreatedDateTime") .HasColumnType("timestamp without time zone"); b.Property("Game") .HasColumnType("integer"); b.Property("UpdatedDateTime") .HasColumnType("timestamp without time zone"); b.HasKey("WeaponAttachmentComboId"); b.HasIndex("Attachment1Id"); b.HasIndex("Attachment2Id"); b.HasIndex("Attachment3Id"); b.ToTable("EFWeaponAttachmentCombos"); }); modelBuilder.Entity("Data.Models.EFAlias", b => { b.Property("AliasId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("DateAdded") .HasColumnType("timestamp without time zone"); b.Property("IPAddress") .HasColumnType("integer"); b.Property("LinkId") .HasColumnType("integer"); b.Property("Name") .IsRequired() .HasColumnType("character varying(24)") .HasMaxLength(24); b.Property("SearchableName") .HasColumnType("character varying(24)") .HasMaxLength(24); b.HasKey("AliasId"); b.HasIndex("IPAddress"); b.HasIndex("LinkId"); b.HasIndex("Name"); b.HasIndex("SearchableName"); b.HasIndex("Name", "IPAddress") .IsUnique(); b.ToTable("EFAlias"); }); modelBuilder.Entity("Data.Models.EFAliasLink", b => { b.Property("AliasLinkId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.HasKey("AliasLinkId"); b.ToTable("EFAliasLinks"); }); modelBuilder.Entity("Data.Models.EFChangeHistory", b => { b.Property("ChangeHistoryId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("Comment") .HasColumnType("character varying(128)") .HasMaxLength(128); b.Property("CurrentValue") .HasColumnType("text"); b.Property("ImpersonationEntityId") .HasColumnType("integer"); b.Property("OriginEntityId") .HasColumnType("integer"); b.Property("PreviousValue") .HasColumnType("text"); b.Property("TargetEntityId") .HasColumnType("integer"); b.Property("TimeChanged") .HasColumnType("timestamp without time zone"); b.Property("TypeOfChange") .HasColumnType("integer"); b.HasKey("ChangeHistoryId"); b.ToTable("EFChangeHistory"); }); modelBuilder.Entity("Data.Models.EFMeta", b => { b.Property("MetaId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("ClientId") .HasColumnType("integer"); b.Property("Created") .HasColumnType("timestamp without time zone"); b.Property("Extra") .HasColumnType("text"); b.Property("Key") .IsRequired() .HasColumnType("character varying(32)") .HasMaxLength(32); b.Property("LinkedMetaId") .HasColumnType("integer"); b.Property("Updated") .HasColumnType("timestamp without time zone"); b.Property("Value") .IsRequired() .HasColumnType("text"); b.HasKey("MetaId"); b.HasIndex("ClientId"); b.HasIndex("Key"); b.HasIndex("LinkedMetaId"); b.ToTable("EFMeta"); }); modelBuilder.Entity("Data.Models.EFPenalty", b => { b.Property("PenaltyId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("AutomatedOffense") .HasColumnType("text"); b.Property("Expires") .HasColumnType("timestamp without time zone"); b.Property("IsEvadedOffense") .HasColumnType("boolean"); b.Property("LinkId") .HasColumnType("integer"); b.Property("OffenderId") .HasColumnType("integer"); b.Property("Offense") .IsRequired() .HasColumnType("text"); b.Property("PunisherId") .HasColumnType("integer"); b.Property("Type") .HasColumnType("integer"); b.Property("When") .HasColumnType("timestamp without time zone"); b.HasKey("PenaltyId"); b.HasIndex("LinkId"); b.HasIndex("OffenderId"); b.HasIndex("PunisherId"); b.ToTable("EFPenalties"); }); modelBuilder.Entity("Data.Models.Server.EFServer", b => { b.Property("ServerId") .HasColumnType("bigint"); b.Property("Active") .HasColumnType("boolean"); b.Property("EndPoint") .HasColumnType("text"); b.Property("GameName") .HasColumnType("integer"); b.Property("HostName") .HasColumnType("text"); b.Property("IsPasswordProtected") .HasColumnType("boolean"); b.Property("Port") .HasColumnType("integer"); b.HasKey("ServerId"); b.ToTable("EFServers"); }); modelBuilder.Entity("Data.Models.Server.EFServerStatistics", b => { b.Property("StatisticId") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("Active") .HasColumnType("boolean"); b.Property("ServerId") .HasColumnType("bigint"); b.Property("TotalKills") .HasColumnType("bigint"); b.Property("TotalPlayTime") .HasColumnType("bigint"); b.HasKey("StatisticId"); b.HasIndex("ServerId"); b.ToTable("EFServerStatistics"); }); modelBuilder.Entity("Data.Models.Vector3", b => { b.Property("Vector3Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); b.Property("X") .HasColumnType("real"); b.Property("Y") .HasColumnType("real"); b.Property("Z") .HasColumnType("real"); b.HasKey("Vector3Id"); b.ToTable("Vector3"); }); modelBuilder.Entity("Data.Models.Client.EFACSnapshotVector3", b => { b.HasOne("Data.Models.Client.Stats.EFACSnapshot", "Snapshot") .WithMany("PredictedViewAngles") .HasForeignKey("SnapshotId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Vector3", "Vector") .WithMany() .HasForeignKey("Vector3Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Data.Models.Client.EFClient", b => { b.HasOne("Data.Models.EFAliasLink", "AliasLink") .WithMany() .HasForeignKey("AliasLinkId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.EFAlias", "CurrentAlias") .WithMany() .HasForeignKey("CurrentAliasId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Data.Models.Client.EFClientKill", b => { b.HasOne("Data.Models.Client.EFClient", "Attacker") .WithMany() .HasForeignKey("AttackerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Vector3", "DeathOrigin") .WithMany() .HasForeignKey("DeathOriginVector3Id"); b.HasOne("Data.Models.Vector3", "KillOrigin") .WithMany() .HasForeignKey("KillOriginVector3Id"); b.HasOne("Data.Models.Server.EFServer", "Server") .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Client.EFClient", "Victim") .WithMany() .HasForeignKey("VictimId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Vector3", "ViewAngles") .WithMany() .HasForeignKey("ViewAnglesVector3Id"); }); modelBuilder.Entity("Data.Models.Client.EFClientMessage", b => { b.HasOne("Data.Models.Client.EFClient", "Client") .WithMany() .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Server.EFServer", "Server") .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Data.Models.Client.Stats.EFACSnapshot", b => { b.HasOne("Data.Models.Client.EFClient", "Client") .WithMany() .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Vector3", "CurrentViewAngle") .WithMany() .HasForeignKey("CurrentViewAngleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Vector3", "HitDestination") .WithMany() .HasForeignKey("HitDestinationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Vector3", "HitOrigin") .WithMany() .HasForeignKey("HitOriginId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Vector3", "LastStrainAngle") .WithMany() .HasForeignKey("LastStrainAngleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Server.EFServer", "Server") .WithMany() .HasForeignKey("ServerId"); }); modelBuilder.Entity("Data.Models.Client.Stats.EFClientHitStatistic", b => { b.HasOne("Data.Models.Client.EFClient", "Client") .WithMany() .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Client.Stats.Reference.EFHitLocation", "HitLocation") .WithMany() .HasForeignKey("HitLocationId"); b.HasOne("Data.Models.Client.Stats.Reference.EFMeansOfDeath", "MeansOfDeath") .WithMany() .HasForeignKey("MeansOfDeathId"); b.HasOne("Data.Models.Server.EFServer", "Server") .WithMany() .HasForeignKey("ServerId"); b.HasOne("Data.Models.Client.Stats.Reference.EFWeaponAttachmentCombo", "WeaponAttachmentCombo") .WithMany() .HasForeignKey("WeaponAttachmentComboId"); b.HasOne("Data.Models.Client.Stats.Reference.EFWeapon", "Weapon") .WithMany() .HasForeignKey("WeaponId"); }); modelBuilder.Entity("Data.Models.Client.Stats.EFClientRankingHistory", b => { b.HasOne("Data.Models.Client.EFClient", "Client") .WithMany() .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Server.EFServer", "Server") .WithMany() .HasForeignKey("ServerId"); }); modelBuilder.Entity("Data.Models.Client.Stats.EFClientRatingHistory", b => { b.HasOne("Data.Models.Client.EFClient", "Client") .WithMany() .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Data.Models.Client.Stats.EFClientStatistics", b => { b.HasOne("Data.Models.Client.EFClient", "Client") .WithMany() .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Server.EFServer", "Server") .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Data.Models.Client.Stats.EFHitLocationCount", b => { b.HasOne("Data.Models.Client.EFClient", "Client") .WithMany() .HasForeignKey("EFClientStatisticsClientId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Server.EFServer", "Server") .WithMany() .HasForeignKey("EFClientStatisticsServerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Client.Stats.EFClientStatistics", null) .WithMany("HitLocations") .HasForeignKey("EFClientStatisticsClientId", "EFClientStatisticsServerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Data.Models.Client.Stats.EFRating", b => { b.HasOne("Data.Models.Client.Stats.EFClientRatingHistory", "RatingHistory") .WithMany("Ratings") .HasForeignKey("RatingHistoryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Server.EFServer", "Server") .WithMany() .HasForeignKey("ServerId"); }); modelBuilder.Entity("Data.Models.Client.Stats.Reference.EFWeaponAttachmentCombo", b => { b.HasOne("Data.Models.Client.Stats.Reference.EFWeaponAttachment", "Attachment1") .WithMany() .HasForeignKey("Attachment1Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Client.Stats.Reference.EFWeaponAttachment", "Attachment2") .WithMany() .HasForeignKey("Attachment2Id"); b.HasOne("Data.Models.Client.Stats.Reference.EFWeaponAttachment", "Attachment3") .WithMany() .HasForeignKey("Attachment3Id"); }); modelBuilder.Entity("Data.Models.EFAlias", b => { b.HasOne("Data.Models.EFAliasLink", "Link") .WithMany("Children") .HasForeignKey("LinkId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); }); modelBuilder.Entity("Data.Models.EFMeta", b => { b.HasOne("Data.Models.Client.EFClient", "Client") .WithMany("Meta") .HasForeignKey("ClientId"); b.HasOne("Data.Models.EFMeta", "LinkedMeta") .WithMany() .HasForeignKey("LinkedMetaId") .OnDelete(DeleteBehavior.SetNull); }); modelBuilder.Entity("Data.Models.EFPenalty", b => { b.HasOne("Data.Models.EFAliasLink", "Link") .WithMany("ReceivedPenalties") .HasForeignKey("LinkId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Data.Models.Client.EFClient", "Offender") .WithMany("ReceivedPenalties") .HasForeignKey("OffenderId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Data.Models.Client.EFClient", "Punisher") .WithMany("AdministeredPenalties") .HasForeignKey("PunisherId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); }); modelBuilder.Entity("Data.Models.Server.EFServerStatistics", b => { b.HasOne("Data.Models.Server.EFServer", "Server") .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); #pragma warning restore 612, 618 } } }