// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using RMuseum.DbContext; #nullable disable namespace RMuseum.Migrations { [DbContext(typeof(RMuseumDbContext))] partial class RMuseumDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("ClaimType") .HasColumnType("nvarchar(max)"); b.Property("ClaimValue") .HasColumnType("nvarchar(max)"); b.Property("RoleId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("RoleId"); b.ToTable("AspNetRoleClaims", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("ClaimType") .HasColumnType("nvarchar(max)"); b.Property("ClaimValue") .HasColumnType("nvarchar(max)"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("AspNetUserClaims", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.Property("LoginProvider") .HasColumnType("nvarchar(450)"); b.Property("ProviderKey") .HasColumnType("nvarchar(450)"); b.Property("ProviderDisplayName") .HasColumnType("nvarchar(max)"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.HasKey("LoginProvider", "ProviderKey"); b.HasIndex("UserId"); b.ToTable("AspNetUserLogins", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.Property("UserId") .HasColumnType("uniqueidentifier"); b.Property("RoleId") .HasColumnType("uniqueidentifier"); b.HasKey("UserId", "RoleId"); b.HasIndex("RoleId"); b.ToTable("AspNetUserRoles", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.Property("UserId") .HasColumnType("uniqueidentifier"); b.Property("LoginProvider") .HasColumnType("nvarchar(450)"); b.Property("Name") .HasColumnType("nvarchar(450)"); b.Property("Value") .HasColumnType("nvarchar(max)"); b.HasKey("UserId", "LoginProvider", "Name"); b.ToTable("AspNetUserTokens", (string)null); }); modelBuilder.Entity("RMuseum.Models.Accounting.DonationExpenditure", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("Amount") .HasColumnType("decimal(18,2)"); b.Property("GanjoorDonationId") .HasColumnType("int"); b.Property("GanjoorExpenseId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("GanjoorDonationId"); b.HasIndex("GanjoorExpenseId"); b.ToTable("DonationExpenditure"); }); modelBuilder.Entity("RMuseum.Models.Accounting.GanjoorDonation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("Amount") .HasColumnType("decimal(18,2)"); b.Property("AmountString") .HasColumnType("nvarchar(max)"); b.Property("DateString") .HasColumnType("nvarchar(max)"); b.Property("DonorLink") .HasColumnType("nvarchar(max)"); b.Property("DonorName") .HasColumnType("nvarchar(max)"); b.Property("ExpenditureDesc") .HasColumnType("nvarchar(max)"); b.Property("ImportedRecord") .HasColumnType("bit"); b.Property("RecordDate") .HasColumnType("datetime2"); b.Property("Remaining") .HasColumnType("decimal(18,2)"); b.Property("Unit") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("GanjoorDonations"); }); modelBuilder.Entity("RMuseum.Models.Accounting.GanjoorExpense", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("Amount") .HasColumnType("decimal(18,2)"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("ExpenseDate") .HasColumnType("datetime2"); b.Property("Unit") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("GanjoorExpenses"); }); modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactItemRecord", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("CoverImageIndex") .HasColumnType("int"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("DescriptionInEnglish") .HasColumnType("nvarchar(max)"); b.Property("FriendlyUrl") .HasColumnType("nvarchar(450)"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.Property("NameInEnglish") .HasColumnType("nvarchar(max)"); b.Property("Order") .HasColumnType("int"); b.Property("RArtifactMasterRecordId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("RArtifactMasterRecordId", "FriendlyUrl") .IsUnique() .HasFilter("[FriendlyUrl] IS NOT NULL"); b.HasIndex("RArtifactMasterRecordId", "Order") .IsUnique(); b.ToTable("Items"); }); modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactMasterRecord", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("CoverImageId") .HasColumnType("uniqueidentifier"); b.Property("CoverItemIndex") .HasColumnType("int"); b.Property("DateTime") .HasColumnType("datetime2"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("DescriptionInEnglish") .HasColumnType("nvarchar(max)"); b.Property("FriendlyUrl") .HasColumnType("nvarchar(450)"); b.Property("ItemCount") .HasColumnType("int"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.Property("NameInEnglish") .HasColumnType("nvarchar(max)"); b.Property("Status") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("CoverImageId"); b.HasIndex("FriendlyUrl") .IsUnique() .HasFilter("[FriendlyUrl] IS NOT NULL"); b.HasIndex("LastModified"); b.HasIndex("CoverItemIndex", "Status"); b.ToTable("Artifacts"); }); modelBuilder.Entity("RMuseum.Models.Artifact.RTag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("FriendlyUrl") .HasColumnType("nvarchar(450)"); b.Property("GlobalValue") .HasColumnType("bit"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.Property("NameInEnglish") .HasColumnType("nvarchar(max)"); b.Property("Order") .HasColumnType("int"); b.Property("PluralName") .HasColumnType("nvarchar(max)"); b.Property("PluralNameInEnglish") .HasColumnType("nvarchar(max)"); b.Property("Status") .HasColumnType("int"); b.Property("TagType") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FriendlyUrl"); b.ToTable("Tags"); }); modelBuilder.Entity("RMuseum.Models.Artifact.RTagValue", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("FriendlyUrl") .HasColumnType("nvarchar(450)"); b.Property("Order") .HasColumnType("int"); b.Property("RArtifactItemRecordId") .HasColumnType("uniqueidentifier"); b.Property("RArtifactMasterRecordId") .HasColumnType("uniqueidentifier"); b.Property("RTagId") .HasColumnType("uniqueidentifier"); b.Property("Status") .HasColumnType("int"); b.Property("Value") .HasColumnType("nvarchar(max)"); b.Property("ValueInEnglish") .HasColumnType("nvarchar(max)"); b.Property("ValueSupplement") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("FriendlyUrl"); b.HasIndex("RArtifactItemRecordId"); b.HasIndex("RArtifactMasterRecordId"); b.HasIndex("RTagId"); b.ToTable("TagValues"); }); modelBuilder.Entity("RMuseum.Models.Bookmark.RUserBookmark", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("DateTime") .HasColumnType("datetime2"); b.Property("Note") .HasColumnType("nvarchar(max)"); b.Property("RAppUserId") .HasColumnType("uniqueidentifier"); b.Property("RArtifactItemRecordId") .HasColumnType("uniqueidentifier"); b.Property("RArtifactMasterRecordId") .HasColumnType("uniqueidentifier"); b.Property("RBookmarkType") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("RAppUserId"); b.HasIndex("RArtifactItemRecordId"); b.HasIndex("RArtifactMasterRecordId"); b.ToTable("UserBookmarks"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCachedRelatedPoem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("FullTitle") .HasColumnType("nvarchar(max)"); b.Property("FullUrl") .HasColumnType("nvarchar(450)"); b.Property("HtmlExcerpt") .HasColumnType("nvarchar(max)"); b.Property("PoemId") .HasColumnType("int"); b.Property("PoetId") .HasColumnType("int"); b.Property("PoetImageUrl") .HasColumnType("nvarchar(max)"); b.Property("PoetMorePoemsLikeThisCount") .HasColumnType("int"); b.Property("PoetName") .HasColumnType("nvarchar(max)"); b.Property("RelationOrder") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FullUrl"); b.HasIndex("PoemId"); b.ToTable("GanjoorCachedRelatedPoems"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCat", b => { b.Property("Id") .HasColumnType("int"); b.Property("FullUrl") .HasColumnType("nvarchar(450)"); b.Property("ParentId") .HasColumnType("int"); b.Property("PoetId") .HasColumnType("int"); b.Property("Title") .HasColumnType("nvarchar(max)"); b.Property("UrlSlug") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("FullUrl"); b.HasIndex("PoetId"); b.HasIndex("ParentId", "PoetId"); SqlServerIndexBuilderExtensions.IncludeProperties(b.HasIndex("ParentId", "PoetId"), new[] { "Id" }); b.ToTable("GanjoorCategories"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCentury", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("EndYear") .HasColumnType("int"); b.Property("HalfCenturyOrder") .HasColumnType("int"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.Property("ShowInTimeLine") .HasColumnType("bit"); b.Property("StartYear") .HasColumnType("int"); b.HasKey("Id"); b.ToTable("GanjoorCenturies"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCenturyPoet", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("GanjoorCenturyId") .HasColumnType("int"); b.Property("PoetId") .HasColumnType("int"); b.Property("PoetOrder") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("GanjoorCenturyId"); b.HasIndex("PoetId"); b.ToTable("GanjoorCenturyPoet"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorComment", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("AuthorEmail") .HasColumnType("nvarchar(max)"); b.Property("AuthorIpAddress") .HasColumnType("nvarchar(max)"); b.Property("AuthorName") .HasColumnType("nvarchar(max)"); b.Property("AuthorUrl") .HasColumnType("nvarchar(max)"); b.Property("CommentDate") .HasColumnType("datetime2"); b.Property("CoupletIndex") .HasColumnType("int"); b.Property("HtmlComment") .HasColumnType("nvarchar(max)"); b.Property("InReplyToId") .HasColumnType("int"); b.Property("PoemId") .HasColumnType("int"); b.Property("Status") .HasColumnType("int"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.Property("Verse12d") .HasColumnType("int"); b.Property("Verse1Id") .HasColumnType("int"); b.Property("Verse2Id") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("CommentDate"); b.HasIndex("InReplyToId"); b.HasIndex("PoemId"); b.HasIndex("Status"); b.HasIndex("UserId"); b.HasIndex("Verse1Id"); b.HasIndex("Verse2Id"); b.ToTable("GanjoorComments"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCommentAbuseReport", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("GanjoorCommentId") .HasColumnType("int"); b.Property("ReasonCode") .HasColumnType("nvarchar(max)"); b.Property("ReasonText") .HasColumnType("nvarchar(max)"); b.Property("ReportedById") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("GanjoorCommentId"); b.HasIndex("ReportedById"); b.ToTable("GanjoorReportedComments"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorGeoLocation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("Latitude") .HasColumnType("decimal(12,9)"); b.Property("Longitude") .HasColumnType("decimal(12,9)"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("GanjoorGeoLocations"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorHealthCheckError", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("BrokenLink") .HasColumnType("bit"); b.Property("MulipleTargets") .HasColumnType("bit"); b.Property("ReferrerPageUrl") .HasColumnType("nvarchar(max)"); b.Property("TargetUrl") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("GanjoorHealthCheckErrors"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorLanguage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("Code") .HasColumnType("nvarchar(max)"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("Name") .HasColumnType("nvarchar(450)"); b.Property("NativeName") .HasColumnType("nvarchar(max)"); b.Property("RightToLeft") .HasColumnType("bit"); b.HasKey("Id"); b.HasIndex("Name") .IsUnique() .HasFilter("[Name] IS NOT NULL"); b.ToTable("GanjoorLanguages"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorMetre", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.Property("Rhythm") .HasColumnType("nvarchar(max)"); b.Property("UrlSlug") .HasColumnType("nvarchar(max)"); b.Property("VerseCount") .HasColumnType("int"); b.HasKey("Id"); b.ToTable("GanjoorMetres"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorNumbering", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("EndCatId") .HasColumnType("int"); b.Property("LastCountingDate") .HasColumnType("datetime2"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.Property("StartCatId") .HasColumnType("int"); b.Property("TotalCouplets") .HasColumnType("int"); b.Property("TotalLines") .HasColumnType("int"); b.Property("TotalParagraphs") .HasColumnType("int"); b.Property("TotalVerses") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("EndCatId"); b.HasIndex("StartCatId"); b.ToTable("GanjoorNumberings"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPage", b => { b.Property("Id") .HasColumnType("int"); b.Property("CatId") .HasColumnType("int"); b.Property("FullTitle") .HasColumnType("nvarchar(max)"); b.Property("FullUrl") .HasColumnType("nvarchar(450)"); b.Property("GanjoorPageType") .HasColumnType("int"); b.Property("HtmlText") .HasColumnType("nvarchar(max)"); b.Property("PageOrder") .HasColumnType("int"); b.Property("ParentId") .HasColumnType("int"); b.Property("PoemId") .HasColumnType("int"); b.Property("PoetId") .HasColumnType("int"); b.Property("PostDate") .HasColumnType("datetime2"); b.Property("Published") .HasColumnType("bit"); b.Property("SecondPoetId") .HasColumnType("int"); b.Property("Title") .HasColumnType("nvarchar(max)"); b.Property("UrlSlug") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("CatId"); b.HasIndex("FullUrl"); b.HasIndex("ParentId"); b.HasIndex("PoemId"); b.HasIndex("PoetId"); b.HasIndex("SecondPoetId"); b.ToTable("GanjoorPages"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPageSnapshot", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("GanjoorPageId") .HasColumnType("int"); b.Property("HtmlText") .HasColumnType("nvarchar(max)"); b.Property("MadeObsoleteByUserId") .HasColumnType("uniqueidentifier"); b.Property("Note") .HasColumnType("nvarchar(max)"); b.Property("OldTag") .HasColumnType("nvarchar(max)"); b.Property("OldTagPageUrl") .HasColumnType("nvarchar(max)"); b.Property("RecordDate") .HasColumnType("datetime2"); b.Property("RhymeLetters") .HasColumnType("nvarchar(max)"); b.Property("Rhythm") .HasColumnType("nvarchar(max)"); b.Property("SourceName") .HasColumnType("nvarchar(max)"); b.Property("SourceUrlSlug") .HasColumnType("nvarchar(max)"); b.Property("Title") .HasColumnType("nvarchar(max)"); b.Property("UrlSlug") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("GanjoorPageId"); b.HasIndex("MadeObsoleteByUserId"); b.ToTable("GanjoorPageSnapshots"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoem", b => { b.Property("Id") .HasColumnType("int"); b.Property("CatId") .HasColumnType("int"); b.Property("FullTitle") .HasColumnType("nvarchar(max)"); b.Property("FullUrl") .HasColumnType("nvarchar(450)"); b.Property("GanjoorMetreId") .HasColumnType("int"); b.Property("HtmlText") .HasColumnType("nvarchar(max)"); b.Property("OldTag") .HasColumnType("nvarchar(max)"); b.Property("OldTagPageUrl") .HasColumnType("nvarchar(max)"); b.Property("PlainText") .HasColumnType("nvarchar(max)"); b.Property("RhymeLetters") .HasColumnType("nvarchar(max)"); b.Property("SourceName") .HasColumnType("nvarchar(max)"); b.Property("SourceUrlSlug") .HasColumnType("nvarchar(max)"); b.Property("Title") .HasColumnType("nvarchar(max)"); b.Property("UrlSlug") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("CatId"); b.HasIndex("FullUrl"); b.HasIndex("GanjoorMetreId"); b.HasIndex("Id"); b.ToTable("GanjoorPoems"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemCorrection", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("AffectedThePoem") .HasColumnType("bit"); b.Property("ApplicationOrder") .HasColumnType("int"); b.Property("Date") .HasColumnType("datetime2"); b.Property("Note") .HasColumnType("nvarchar(max)"); b.Property("OriginalRhythm") .HasColumnType("nvarchar(max)"); b.Property("OriginalTitle") .HasColumnType("nvarchar(max)"); b.Property("PoemId") .HasColumnType("int"); b.Property("Result") .HasColumnType("int"); b.Property("ReviewDate") .HasColumnType("datetime2"); b.Property("ReviewNote") .HasColumnType("nvarchar(max)"); b.Property("Reviewed") .HasColumnType("bit"); b.Property("ReviewerUserId") .HasColumnType("uniqueidentifier"); b.Property("Rhythm") .HasColumnType("nvarchar(max)"); b.Property("RhythmResult") .HasColumnType("int"); b.Property("Title") .HasColumnType("nvarchar(max)"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("PoemId"); b.HasIndex("ReviewerUserId"); b.HasIndex("UserId"); b.ToTable("GanjoorPoemCorrections"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemTranslation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("DateTime") .HasColumnType("datetime2"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("LanguageId") .HasColumnType("int"); b.Property("PoemId") .HasColumnType("int"); b.Property("Published") .HasColumnType("bit"); b.Property("Title") .HasColumnType("nvarchar(max)"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("LanguageId"); b.HasIndex("PoemId"); b.HasIndex("UserId"); b.ToTable("GanjoorPoemTranslations"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoet", b => { b.Property("Id") .HasColumnType("int"); b.Property("BirthLocationId") .HasColumnType("int"); b.Property("BirthYearInLHijri") .HasColumnType("int"); b.Property("DeathLocationId") .HasColumnType("int"); b.Property("DeathYearInLHijri") .HasColumnType("int"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.Property("Nickname") .HasColumnType("nvarchar(max)"); b.Property("PinOrder") .HasColumnType("int"); b.Property("Published") .HasColumnType("bit"); b.Property("RImageId") .HasColumnType("uniqueidentifier"); b.Property("ValidBirthDate") .HasColumnType("bit"); b.Property("ValidDeathDate") .HasColumnType("bit"); b.HasKey("Id"); b.HasIndex("BirthLocationId"); b.HasIndex("DeathLocationId"); b.HasIndex("RImageId"); b.HasIndex("Published", "Id"); SqlServerIndexBuilderExtensions.IncludeProperties(b.HasIndex("Published", "Id"), new[] { "Name", "Nickname", "RImageId" }); b.ToTable("GanjoorPoets"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorSiteBanner", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("Active") .HasColumnType("bit"); b.Property("AlternateText") .HasColumnType("nvarchar(max)"); b.Property("RImageId") .HasColumnType("uniqueidentifier"); b.Property("TargetUrl") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("RImageId"); b.ToTable("GanjoorSiteBanners"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorUserBookmark", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("CoupletIndex") .HasColumnType("int"); b.Property("DateTime") .HasColumnType("datetime2"); b.Property("PoemId") .HasColumnType("int"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.Property("Verse2Id") .HasColumnType("int"); b.Property("VerseId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("PoemId"); b.HasIndex("UserId", "PoemId", "CoupletIndex"); b.ToTable("GanjoorUserBookmarks"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerse", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("CoupletIndex") .HasColumnType("int"); b.Property("PoemId") .HasColumnType("int"); b.Property("Text") .HasColumnType("nvarchar(max)"); b.Property("VOrder") .HasColumnType("int"); b.Property("VersePosition") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("PoemId"); b.HasIndex("PoemId", "CoupletIndex"); b.ToTable("GanjoorVerses"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseNumber", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("CoupletIndex") .HasColumnType("int"); b.Property("IsPoemVerse") .HasColumnType("bit"); b.Property("Number") .HasColumnType("int"); b.Property("NumberingId") .HasColumnType("int"); b.Property("PoemId") .HasColumnType("int"); b.Property("SameTypeNumber") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("PoemId", "CoupletIndex"); b.HasIndex("NumberingId", "PoemId", "CoupletIndex") .IsUnique(); b.ToTable("GanjoorVerseNumbers"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseTranslation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("GanjoorPoemTranslationId") .HasColumnType("int"); b.Property("TText") .HasColumnType("nvarchar(max)"); b.Property("VerseId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("GanjoorPoemTranslationId"); b.HasIndex("VerseId"); b.ToTable("GanjoorVerseTranslation"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseVOrderText", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("GanjoorPoemCorrectionId") .HasColumnType("int"); b.Property("OriginalText") .HasColumnType("nvarchar(max)"); b.Property("Result") .HasColumnType("int"); b.Property("ReviewNote") .HasColumnType("nvarchar(max)"); b.Property("Text") .HasColumnType("nvarchar(max)"); b.Property("VORder") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("GanjoorPoemCorrectionId"); b.ToTable("GanjoorVerseVOrderText"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.PoemMusicTrack", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("AlbumName") .HasColumnType("nvarchar(max)"); b.Property("AlbumUrl") .HasColumnType("nvarchar(max)"); b.Property("ApprovalDate") .HasColumnType("datetime2"); b.Property("Approved") .HasColumnType("bit"); b.Property("ArtistName") .HasColumnType("nvarchar(max)"); b.Property("ArtistUrl") .HasColumnType("nvarchar(max)"); b.Property("BrokenLink") .HasColumnType("bit"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("GanjoorTrackId") .HasColumnType("int"); b.Property("GolhaTrackId") .HasColumnType("int"); b.Property("PoemId") .HasColumnType("int"); b.Property("Rejected") .HasColumnType("bit"); b.Property("RejectionCause") .HasColumnType("nvarchar(max)"); b.Property("SingerId") .HasColumnType("int"); b.Property("SongOrder") .HasColumnType("int"); b.Property("SuggestedById") .HasColumnType("uniqueidentifier"); b.Property("TrackName") .HasColumnType("nvarchar(max)"); b.Property("TrackType") .HasColumnType("int"); b.Property("TrackUrl") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("GanjoorTrackId"); b.HasIndex("GolhaTrackId"); b.HasIndex("PoemId"); b.HasIndex("SingerId"); b.HasIndex("SuggestedById"); b.HasIndex("Approved", "Rejected"); b.ToTable("GanjoorPoemMusicTracks"); }); modelBuilder.Entity("RMuseum.Models.GanjoorAudio.Recitation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("AudioArtist") .HasColumnType("nvarchar(max)"); b.Property("AudioArtistUrl") .HasColumnType("nvarchar(max)"); b.Property("AudioOrder") .HasColumnType("int"); b.Property("AudioSrc") .HasColumnType("nvarchar(max)"); b.Property("AudioSrcUrl") .HasColumnType("nvarchar(max)"); b.Property("AudioSyncStatus") .HasColumnType("int"); b.Property("AudioTitle") .HasColumnType("nvarchar(max)"); b.Property("FileLastUpdated") .HasColumnType("datetime2"); b.Property("FileNameWithoutExtension") .HasColumnType("nvarchar(max)"); b.Property("GanjoorAudioId") .HasColumnType("int"); b.Property("GanjoorPostId") .HasColumnType("int"); b.Property("LegacyAudioGuid") .HasColumnType("uniqueidentifier"); b.Property("LocalMp3FilePath") .HasColumnType("nvarchar(max)"); b.Property("LocalXmlFilePath") .HasColumnType("nvarchar(max)"); b.Property("Mp3FileCheckSum") .HasColumnType("nvarchar(max)"); b.Property("Mp3SizeInBytes") .HasColumnType("int"); b.Property("OggSizeInBytes") .HasColumnType("int"); b.Property("OwnerId") .HasColumnType("uniqueidentifier"); b.Property("ReviewDate") .HasColumnType("datetime2"); b.Property("ReviewMsg") .HasColumnType("nvarchar(max)"); b.Property("ReviewStatus") .HasColumnType("int"); b.Property("ReviewerId") .HasColumnType("uniqueidentifier"); b.Property("SoundFilesFolder") .HasColumnType("nvarchar(max)"); b.Property("UploadDate") .HasColumnType("datetime2"); b.HasKey("Id"); b.HasIndex("GanjoorAudioId"); b.HasIndex("GanjoorPostId"); b.HasIndex("OwnerId"); b.HasIndex("ReviewerId"); b.HasIndex("ReviewStatus", "GanjoorPostId"); b.ToTable("Recitations"); }); modelBuilder.Entity("RMuseum.Models.GanjoorAudio.RecitationErrorReport", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("DateTime") .HasColumnType("datetime2"); b.Property("ReasonText") .HasColumnType("nvarchar(max)"); b.Property("RecitationId") .HasColumnType("int"); b.Property("ReporterId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("RecitationId"); b.HasIndex("ReporterId"); b.ToTable("RecitationErrorReports"); }); modelBuilder.Entity("RMuseum.Models.GanjoorAudio.RecitationPublishingTracker", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("FinishDate") .HasColumnType("datetime2"); b.Property("Finished") .HasColumnType("bit"); b.Property("FirstDbUpdated") .HasColumnType("bit"); b.Property("LastException") .HasColumnType("nvarchar(max)"); b.Property("Mp3FileCopied") .HasColumnType("bit"); b.Property("PoemNarrationId") .HasColumnType("int"); b.Property("SecondDbUpdated") .HasColumnType("bit"); b.Property("StartDate") .HasColumnType("datetime2"); b.Property("XmlFileCopied") .HasColumnType("bit"); b.HasKey("Id"); b.HasIndex("PoemNarrationId"); b.ToTable("RecitationPublishingTrackers"); }); modelBuilder.Entity("RMuseum.Models.GanjoorAudio.UserRecitationProfile", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ArtistName") .HasColumnType("nvarchar(max)"); b.Property("ArtistUrl") .HasColumnType("nvarchar(max)"); b.Property("AudioSrc") .HasColumnType("nvarchar(max)"); b.Property("AudioSrcUrl") .HasColumnType("nvarchar(max)"); b.Property("FileSuffixWithoutDash") .HasColumnType("nvarchar(max)"); b.Property("IsDefault") .HasColumnType("bit"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("UserRecitationProfiles"); }); modelBuilder.Entity("RMuseum.Models.GanjoorIntegration.GanjoorLink", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ArtifactId") .HasColumnType("uniqueidentifier"); b.Property("DisplayOnPage") .HasColumnType("bit"); b.Property("GanjoorPostId") .HasColumnType("int"); b.Property("GanjoorTitle") .HasColumnType("nvarchar(max)"); b.Property("GanjoorUrl") .HasColumnType("nvarchar(max)"); b.Property("ItemId") .HasColumnType("uniqueidentifier"); b.Property("LinkToOriginalSource") .HasColumnType("bit"); b.Property("OriginalSourceUrl") .HasColumnType("nvarchar(max)"); b.Property("ReviewDate") .HasColumnType("datetime2"); b.Property("ReviewResult") .HasColumnType("int"); b.Property("ReviewerId") .HasColumnType("uniqueidentifier"); b.Property("SuggestedById") .HasColumnType("uniqueidentifier"); b.Property("SuggestionDate") .HasColumnType("datetime2"); b.Property("Synchronized") .HasColumnType("bit"); b.HasKey("Id"); b.HasIndex("ArtifactId"); b.HasIndex("ItemId"); b.HasIndex("ReviewerId"); b.HasIndex("SuggestedById"); b.ToTable("GanjoorLinks"); }); modelBuilder.Entity("RMuseum.Models.GanjoorIntegration.PinterestLink", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("AltText") .HasColumnType("nvarchar(max)"); b.Property("ArtifactId") .HasColumnType("uniqueidentifier"); b.Property("GanjoorPostId") .HasColumnType("int"); b.Property("GanjoorTitle") .HasColumnType("nvarchar(max)"); b.Property("GanjoorUrl") .HasColumnType("nvarchar(max)"); b.Property("ItemId") .HasColumnType("uniqueidentifier"); b.Property("LinkType") .HasColumnType("int"); b.Property("PinterestImageUrl") .HasColumnType("nvarchar(max)"); b.Property("PinterestUrl") .HasColumnType("nvarchar(max)"); b.Property("ReviewDate") .HasColumnType("datetime2"); b.Property("ReviewDesc") .HasColumnType("nvarchar(max)"); b.Property("ReviewResult") .HasColumnType("int"); b.Property("ReviewerId") .HasColumnType("uniqueidentifier"); b.Property("SuggestedById") .HasColumnType("uniqueidentifier"); b.Property("SuggestionDate") .HasColumnType("datetime2"); b.Property("Synchronized") .HasColumnType("bit"); b.HasKey("Id"); b.HasIndex("ArtifactId"); b.HasIndex("ItemId"); b.HasIndex("ReviewerId"); b.HasIndex("SuggestedById"); b.ToTable("PinterestLinks"); }); modelBuilder.Entity("RMuseum.Models.ImportJob.ImportJob", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ArtifactId") .HasColumnType("uniqueidentifier"); b.Property("EndTime") .HasColumnType("datetime2"); b.Property("Exception") .HasColumnType("nvarchar(max)"); b.Property("FriendlyUrl") .HasColumnType("nvarchar(max)"); b.Property("JobType") .HasColumnType("int"); b.Property("ProgressPercent") .HasColumnType("decimal(18,2)"); b.Property("QueueTime") .HasColumnType("datetime2"); b.Property("ResourceNumber") .HasColumnType("nvarchar(max)"); b.Property("SrcContent") .HasColumnType("nvarchar(max)"); b.Property("SrcUrl") .HasColumnType("nvarchar(max)"); b.Property("StartTime") .HasColumnType("datetime2"); b.Property("Status") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("ArtifactId"); b.ToTable("ImportJobs"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorAlbum", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("Name") .HasColumnType("nvarchar(max)"); b.Property("SingerId") .HasColumnType("int"); b.Property("Url") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("SingerId"); b.ToTable("GanjoorAlbum"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorSinger", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("Name") .HasColumnType("nvarchar(450)"); b.Property("RImageId") .HasColumnType("uniqueidentifier"); b.Property("Url") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("Name"); b.HasIndex("RImageId"); b.ToTable("GanjoorSingers"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorTrack", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("AlbumId") .HasColumnType("int"); b.Property("BlockReason") .HasColumnType("nvarchar(max)"); b.Property("Blocked") .HasColumnType("bit"); b.Property("Name") .HasColumnType("nvarchar(450)"); b.Property("Url") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("AlbumId"); b.HasIndex("Name"); b.ToTable("GanjoorMusicCatalogueTracks"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaCollection", b => { b.Property("Id") .HasColumnType("int"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("GolhaCollections"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaProgram", b => { b.Property("Id") .HasColumnType("int"); b.Property("GolhaCollectionId") .HasColumnType("int"); b.Property("Mp3") .HasColumnType("nvarchar(max)"); b.Property("ProgramOrder") .HasColumnType("int"); b.Property("Title") .HasColumnType("nvarchar(max)"); b.Property("Url") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("GolhaCollectionId"); b.ToTable("GolhaPrograms"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaTrack", b => { b.Property("Id") .HasColumnType("int"); b.Property("BlockReason") .HasColumnType("nvarchar(max)"); b.Property("Blocked") .HasColumnType("bit"); b.Property("GolhaProgramId") .HasColumnType("int"); b.Property("SingerId") .HasColumnType("int"); b.Property("Timing") .HasColumnType("nvarchar(max)"); b.Property("Title") .HasColumnType("nvarchar(max)"); b.Property("TrackNo") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("GolhaProgramId"); b.HasIndex("SingerId"); b.ToTable("GolhaTracks"); }); modelBuilder.Entity("RMuseum.Models.Note.RUserNote", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("DateTime") .HasColumnType("datetime2"); b.Property("HtmlContent") .HasColumnType("nvarchar(max)"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("Modified") .HasColumnType("bit"); b.Property("NoteType") .HasColumnType("int"); b.Property("RAppUserId") .HasColumnType("uniqueidentifier"); b.Property("RArtifactItemRecordId") .HasColumnType("uniqueidentifier"); b.Property("RArtifactMasterRecordId") .HasColumnType("uniqueidentifier"); b.Property("ReferenceNoteId") .HasColumnType("uniqueidentifier"); b.Property("Status") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("RAppUserId"); b.HasIndex("RArtifactItemRecordId"); b.HasIndex("RArtifactMasterRecordId"); b.HasIndex("ReferenceNoteId"); b.ToTable("UserNotes"); }); modelBuilder.Entity("RMuseum.Models.Note.RUserNoteAbuseReport", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("NoteId") .HasColumnType("uniqueidentifier"); b.Property("ReasonText") .HasColumnType("nvarchar(max)"); b.Property("ReporterId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("NoteId"); b.HasIndex("ReporterId"); b.ToTable("ReportedUserNotes"); }); modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSession", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ProcessEndTime") .HasColumnType("datetime2"); b.Property("ProcessProgress") .HasColumnType("int"); b.Property("ProcessStartTime") .HasColumnType("datetime2"); b.Property("SessionType") .HasColumnType("int"); b.Property("Status") .HasColumnType("int"); b.Property("UploadEndTime") .HasColumnType("datetime2"); b.Property("UploadStartTime") .HasColumnType("datetime2"); b.Property("UseId") .HasColumnType("uniqueidentifier"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("UploadSessions"); }); modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSessionFile", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ContentDisposition") .HasColumnType("nvarchar(max)"); b.Property("ContentType") .HasColumnType("nvarchar(max)"); b.Property("FileName") .HasColumnType("nvarchar(max)"); b.Property("FilePath") .HasColumnType("nvarchar(max)"); b.Property("Length") .HasColumnType("bigint"); b.Property("MP3FileCheckSum") .HasColumnType("nvarchar(max)"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.Property("ProcessResult") .HasColumnType("bit"); b.Property("ProcessResultMsg") .HasColumnType("nvarchar(max)"); b.Property("UploadSessionId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("UploadSessionId"); b.ToTable("UploadedFiles"); }); modelBuilder.Entity("RSecurityBackend.Models.Audit.Db.REvent", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("Duration") .HasColumnType("int"); b.Property("EndDate") .HasColumnType("datetime2"); b.Property("EventType") .HasColumnType("nvarchar(max)"); b.Property("IpAddress") .HasColumnType("nvarchar(max)"); b.Property("JsonData") .HasColumnType("nvarchar(max)"); b.Property("RequestUrl") .HasColumnType("nvarchar(max)"); b.Property("ResponseStatusCode") .HasColumnType("int"); b.Property("StartDate") .HasColumnType("datetime2"); b.Property("UserName") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("AuditLogs"); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.BannedEmail", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("NormalizedEmail") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("BannedEmails"); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RAppRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("nvarchar(max)"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("Name") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property("NormalizedName") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.HasKey("Id"); b.HasIndex("NormalizedName") .IsUnique() .HasDatabaseName("RoleNameIndex") .HasFilter("[NormalizedName] IS NOT NULL"); b.ToTable("AspNetRoles", (string)null); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RAppUser", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("AccessFailedCount") .HasColumnType("int"); b.Property("Bio") .HasColumnType("nvarchar(max)"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("nvarchar(max)"); b.Property("CreateDate") .HasColumnType("datetime2"); b.Property("Email") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property("EmailConfirmed") .HasColumnType("bit"); b.Property("FirstName") .HasColumnType("nvarchar(max)"); b.Property("LockoutEnabled") .HasColumnType("bit"); b.Property("LockoutEnd") .HasColumnType("datetimeoffset"); b.Property("LockoutMessage") .HasColumnType("nvarchar(max)"); b.Property("NickName") .HasColumnType("nvarchar(max)"); b.Property("NormalizedEmail") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property("NormalizedUserName") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property("PasswordHash") .HasColumnType("nvarchar(max)"); b.Property("PhoneNumber") .HasColumnType("nvarchar(max)"); b.Property("PhoneNumberConfirmed") .HasColumnType("bit"); b.Property("RImageId") .HasColumnType("uniqueidentifier"); b.Property("ScreenName") .HasColumnType("nvarchar(max)"); b.Property("SecurityStamp") .HasColumnType("nvarchar(max)"); b.Property("Status") .HasColumnType("int"); b.Property("SureName") .HasColumnType("nvarchar(max)"); b.Property("TwoFactorEnabled") .HasColumnType("bit"); b.Property("UserName") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property("Website") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("NormalizedEmail") .HasDatabaseName("EmailIndex"); b.HasIndex("NormalizedUserName") .IsUnique() .HasDatabaseName("UserNameIndex") .HasFilter("[NormalizedUserName] IS NOT NULL"); b.HasIndex("RImageId"); b.ToTable("AspNetUsers", (string)null); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RCaptchaImage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("DateTime") .HasColumnType("datetime2"); b.Property("RImageId") .HasColumnType("uniqueidentifier"); b.Property("Value") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("RImageId"); b.ToTable("CaptchaImages"); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RPermission", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("OperationShortName") .HasColumnType("nvarchar(max)"); b.Property("RAppRoleId") .HasColumnType("uniqueidentifier"); b.Property("SecurableItemShortName") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("RAppRoleId"); b.ToTable("Permissions"); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RTemporaryUserSession", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ClientAppName") .HasColumnType("nvarchar(max)"); b.Property("ClientIPAddress") .HasColumnType("nvarchar(max)"); b.Property("Language") .HasColumnType("nvarchar(max)"); b.Property("LastRenewal") .HasColumnType("datetime2"); b.Property("LoginTime") .HasColumnType("datetime2"); b.Property("RAppUserId") .HasColumnType("uniqueidentifier"); b.Property("Token") .HasColumnType("nvarchar(max)"); b.Property("ValidUntil") .HasColumnType("datetime2"); b.HasKey("Id"); b.HasIndex("RAppUserId"); b.ToTable("Sessions"); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RUserBehaviourLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("DateTime") .HasColumnType("datetime2"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("UserBehaviourLogs"); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RVerifyQueueItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ClientAppName") .HasColumnType("nvarchar(max)"); b.Property("ClientIPAddress") .HasColumnType("nvarchar(max)"); b.Property("DateTime") .HasColumnType("datetime2"); b.Property("Email") .HasColumnType("nvarchar(max)"); b.Property("Language") .HasColumnType("nvarchar(max)"); b.Property("PhoneNumber") .HasColumnType("nvarchar(max)"); b.Property("QueueType") .HasColumnType("int"); b.Property("Secret") .HasColumnType("nvarchar(450)"); b.HasKey("Id"); b.HasIndex("Secret") .IsUnique() .HasFilter("[Secret] IS NOT NULL"); b.ToTable("VerifyQueueItems"); }); modelBuilder.Entity("RSecurityBackend.Models.Generic.Db.RGenericOption", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); b.Property("Name") .HasColumnType("nvarchar(450)"); b.Property("RAppUserId") .HasColumnType("uniqueidentifier"); b.Property("Value") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("RAppUserId", "Name") .IsUnique() .HasFilter("[RAppUserId] IS NOT NULL AND [Name] IS NOT NULL"); b.ToTable("Options"); }); modelBuilder.Entity("RSecurityBackend.Models.Generic.Db.RLongRunningJobStatus", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("EndTime") .HasColumnType("datetime2"); b.Property("Exception") .HasColumnType("nvarchar(max)"); b.Property("Name") .HasColumnType("nvarchar(max)"); b.Property("Progress") .HasColumnType("float"); b.Property("StartTime") .HasColumnType("datetime2"); b.Property("Step") .HasColumnType("nvarchar(max)"); b.Property("Succeeded") .HasColumnType("bit"); b.HasKey("Id"); b.ToTable("LongRunningJobs"); }); modelBuilder.Entity("RSecurityBackend.Models.Image.RImage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ContentType") .HasColumnType("nvarchar(max)"); b.Property("DataTime") .HasColumnType("datetime2"); b.Property("Discriminator") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("FileSizeInBytes") .HasColumnType("bigint"); b.Property("FolderName") .HasColumnType("nvarchar(max)"); b.Property("ImageHeight") .HasColumnType("int"); b.Property("ImageWidth") .HasColumnType("int"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("OriginalFileName") .HasColumnType("nvarchar(max)"); b.Property("StoredFileName") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("GeneralImages"); b.HasDiscriminator("Discriminator").HasValue("RImage"); }); modelBuilder.Entity("RSecurityBackend.Models.Notification.RUserNotification", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("DateTime") .HasColumnType("datetime2"); b.Property("HtmlText") .HasColumnType("nvarchar(max)"); b.Property("Status") .HasColumnType("int"); b.Property("Subject") .HasColumnType("nvarchar(max)"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("Notifications"); }); modelBuilder.Entity("RMuseum.Models.Artifact.RPictureFile", b => { b.HasBaseType("RSecurityBackend.Models.Image.RImage"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("DescriptionInEnglish") .HasColumnType("nvarchar(max)"); b.Property("LastModifiedMeta") .HasColumnType("datetime2"); b.Property("NormalSizeImageHeight") .HasColumnType("int"); b.Property("NormalSizeImageStoredFileName") .HasColumnType("nvarchar(max)"); b.Property("NormalSizeImageWidth") .HasColumnType("int"); b.Property("Order") .HasColumnType("int"); b.Property("RArtifactItemRecordId") .HasColumnType("uniqueidentifier"); b.Property("SrcUrl") .HasColumnType("nvarchar(max)"); b.Property("Status") .HasColumnType("int"); b.Property("ThumbnailImageHeight") .HasColumnType("int"); b.Property("ThumbnailImageStoredFileName") .HasColumnType("nvarchar(max)"); b.Property("ThumbnailImageWidth") .HasColumnType("int"); b.Property("Title") .HasColumnType("nvarchar(max)"); b.Property("TitleInEnglish") .HasColumnType("nvarchar(max)"); b.HasIndex("RArtifactItemRecordId"); b.HasDiscriminator().HasValue("RPictureFile"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("RMuseum.Models.Accounting.DonationExpenditure", b => { b.HasOne("RMuseum.Models.Accounting.GanjoorDonation", "GanjoorDonation") .WithMany() .HasForeignKey("GanjoorDonationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RMuseum.Models.Accounting.GanjoorExpense", null) .WithMany("DonationExpenditures") .HasForeignKey("GanjoorExpenseId"); b.Navigation("GanjoorDonation"); }); modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactItemRecord", b => { b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", null) .WithMany("Items") .HasForeignKey("RArtifactMasterRecordId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactMasterRecord", b => { b.HasOne("RMuseum.Models.Artifact.RPictureFile", "CoverImage") .WithMany() .HasForeignKey("CoverImageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("CoverImage"); }); modelBuilder.Entity("RMuseum.Models.Artifact.RTagValue", b => { b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", null) .WithMany("Tags") .HasForeignKey("RArtifactItemRecordId"); b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", null) .WithMany("Tags") .HasForeignKey("RArtifactMasterRecordId"); b.HasOne("RMuseum.Models.Artifact.RTag", "RTag") .WithMany() .HasForeignKey("RTagId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("RTag"); }); modelBuilder.Entity("RMuseum.Models.Bookmark.RUserBookmark", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "RAppUser") .WithMany() .HasForeignKey("RAppUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "RArtifactItemRecord") .WithMany() .HasForeignKey("RArtifactItemRecordId"); b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "RArtifactMasterRecord") .WithMany() .HasForeignKey("RArtifactMasterRecordId"); b.Navigation("RAppUser"); b.Navigation("RArtifactItemRecord"); b.Navigation("RArtifactMasterRecord"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCachedRelatedPoem", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem") .WithMany() .HasForeignKey("PoemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Poem"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCat", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorCat", "Parent") .WithMany() .HasForeignKey("ParentId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoet", "Poet") .WithMany() .HasForeignKey("PoetId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Parent"); b.Navigation("Poet"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCenturyPoet", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorCentury", null) .WithMany("Poets") .HasForeignKey("GanjoorCenturyId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoet", "Poet") .WithMany() .HasForeignKey("PoetId"); b.Navigation("Poet"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorComment", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorComment", "InReplyTo") .WithMany() .HasForeignKey("InReplyToId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem") .WithMany() .HasForeignKey("PoemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User") .WithMany() .HasForeignKey("UserId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorVerse", "Verse1") .WithMany() .HasForeignKey("Verse1Id"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorVerse", "Verse2") .WithMany() .HasForeignKey("Verse2Id"); b.Navigation("InReplyTo"); b.Navigation("Poem"); b.Navigation("User"); b.Navigation("Verse1"); b.Navigation("Verse2"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCommentAbuseReport", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorComment", "GanjoorComment") .WithMany() .HasForeignKey("GanjoorCommentId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "ReportedBy") .WithMany() .HasForeignKey("ReportedById"); b.Navigation("GanjoorComment"); b.Navigation("ReportedBy"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorNumbering", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorCat", "EndCat") .WithMany() .HasForeignKey("EndCatId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorCat", "StartCat") .WithMany() .HasForeignKey("StartCatId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("EndCat"); b.Navigation("StartCat"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPage", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorCat", "Cat") .WithMany() .HasForeignKey("CatId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorPage", "Parent") .WithMany() .HasForeignKey("ParentId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem") .WithMany() .HasForeignKey("PoemId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoet", "Poet") .WithMany() .HasForeignKey("PoetId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoet", "SecondPoet") .WithMany() .HasForeignKey("SecondPoetId"); b.Navigation("Cat"); b.Navigation("Parent"); b.Navigation("Poem"); b.Navigation("Poet"); b.Navigation("SecondPoet"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPageSnapshot", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorPage", "GanjoorPage") .WithMany() .HasForeignKey("GanjoorPageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "MadeObsoleteByUser") .WithMany() .HasForeignKey("MadeObsoleteByUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("GanjoorPage"); b.Navigation("MadeObsoleteByUser"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoem", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorCat", "Cat") .WithMany() .HasForeignKey("CatId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RMuseum.Models.Ganjoor.GanjoorMetre", "GanjoorMetre") .WithMany() .HasForeignKey("GanjoorMetreId"); b.Navigation("Cat"); b.Navigation("GanjoorMetre"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemCorrection", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem") .WithMany() .HasForeignKey("PoemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "ReviewerUser") .WithMany() .HasForeignKey("ReviewerUserId"); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Poem"); b.Navigation("ReviewerUser"); b.Navigation("User"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemTranslation", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorLanguage", "Language") .WithMany() .HasForeignKey("LanguageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem") .WithMany() .HasForeignKey("PoemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Language"); b.Navigation("Poem"); b.Navigation("User"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoet", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorGeoLocation", "BirthLocation") .WithMany() .HasForeignKey("BirthLocationId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorGeoLocation", "DeathLocation") .WithMany() .HasForeignKey("DeathLocationId"); b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage") .WithMany() .HasForeignKey("RImageId"); b.Navigation("BirthLocation"); b.Navigation("DeathLocation"); b.Navigation("RImage"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorSiteBanner", b => { b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage") .WithMany() .HasForeignKey("RImageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("RImage"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorUserBookmark", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem") .WithMany() .HasForeignKey("PoemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Poem"); b.Navigation("User"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerse", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem") .WithMany() .HasForeignKey("PoemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Poem"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseNumber", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorNumbering", "Numbering") .WithMany() .HasForeignKey("NumberingId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Numbering"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseTranslation", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoemTranslation", null) .WithMany("Verses") .HasForeignKey("GanjoorPoemTranslationId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorVerse", "Verse") .WithMany() .HasForeignKey("VerseId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Verse"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseVOrderText", b => { b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoemCorrection", null) .WithMany("VerseOrderText") .HasForeignKey("GanjoorPoemCorrectionId"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.PoemMusicTrack", b => { b.HasOne("RMuseum.Models.MusicCatalogue.GanjoorTrack", "GanjoorTrack") .WithMany() .HasForeignKey("GanjoorTrackId"); b.HasOne("RMuseum.Models.MusicCatalogue.GolhaTrack", "GolhaTrack") .WithMany() .HasForeignKey("GolhaTrackId"); b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem") .WithMany() .HasForeignKey("PoemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RMuseum.Models.MusicCatalogue.GanjoorSinger", "Singer") .WithMany() .HasForeignKey("SingerId"); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "SuggestedBy") .WithMany() .HasForeignKey("SuggestedById"); b.Navigation("GanjoorTrack"); b.Navigation("GolhaTrack"); b.Navigation("Poem"); b.Navigation("Singer"); b.Navigation("SuggestedBy"); }); modelBuilder.Entity("RMuseum.Models.GanjoorAudio.Recitation", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Owner") .WithMany() .HasForeignKey("OwnerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Reviewer") .WithMany() .HasForeignKey("ReviewerId"); b.Navigation("Owner"); b.Navigation("Reviewer"); }); modelBuilder.Entity("RMuseum.Models.GanjoorAudio.RecitationErrorReport", b => { b.HasOne("RMuseum.Models.GanjoorAudio.Recitation", "Recitation") .WithMany() .HasForeignKey("RecitationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Reporter") .WithMany() .HasForeignKey("ReporterId"); b.Navigation("Recitation"); b.Navigation("Reporter"); }); modelBuilder.Entity("RMuseum.Models.GanjoorAudio.RecitationPublishingTracker", b => { b.HasOne("RMuseum.Models.GanjoorAudio.Recitation", "PoemNarration") .WithMany() .HasForeignKey("PoemNarrationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("PoemNarration"); }); modelBuilder.Entity("RMuseum.Models.GanjoorAudio.UserRecitationProfile", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("RMuseum.Models.GanjoorIntegration.GanjoorLink", b => { b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "Artifact") .WithMany() .HasForeignKey("ArtifactId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "Item") .WithMany() .HasForeignKey("ItemId"); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Reviewer") .WithMany() .HasForeignKey("ReviewerId"); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "SuggestedBy") .WithMany() .HasForeignKey("SuggestedById") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Artifact"); b.Navigation("Item"); b.Navigation("Reviewer"); b.Navigation("SuggestedBy"); }); modelBuilder.Entity("RMuseum.Models.GanjoorIntegration.PinterestLink", b => { b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "Artifact") .WithMany() .HasForeignKey("ArtifactId"); b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "Item") .WithMany() .HasForeignKey("ItemId"); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Reviewer") .WithMany() .HasForeignKey("ReviewerId"); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "SuggestedBy") .WithMany() .HasForeignKey("SuggestedById"); b.Navigation("Artifact"); b.Navigation("Item"); b.Navigation("Reviewer"); b.Navigation("SuggestedBy"); }); modelBuilder.Entity("RMuseum.Models.ImportJob.ImportJob", b => { b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "Artifact") .WithMany() .HasForeignKey("ArtifactId"); b.Navigation("Artifact"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorAlbum", b => { b.HasOne("RMuseum.Models.MusicCatalogue.GanjoorSinger", "Singer") .WithMany("Albums") .HasForeignKey("SingerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Singer"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorSinger", b => { b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage") .WithMany() .HasForeignKey("RImageId"); b.Navigation("RImage"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorTrack", b => { b.HasOne("RMuseum.Models.MusicCatalogue.GanjoorAlbum", "Album") .WithMany("Tracks") .HasForeignKey("AlbumId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Album"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaProgram", b => { b.HasOne("RMuseum.Models.MusicCatalogue.GolhaCollection", "GolhaCollection") .WithMany("Programs") .HasForeignKey("GolhaCollectionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("GolhaCollection"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaTrack", b => { b.HasOne("RMuseum.Models.MusicCatalogue.GolhaProgram", "GolhaProgram") .WithMany("Tracks") .HasForeignKey("GolhaProgramId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RMuseum.Models.MusicCatalogue.GanjoorSinger", "Singer") .WithMany() .HasForeignKey("SingerId"); b.Navigation("GolhaProgram"); b.Navigation("Singer"); }); modelBuilder.Entity("RMuseum.Models.Note.RUserNote", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "RAppUser") .WithMany() .HasForeignKey("RAppUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "RArtifactItemRecord") .WithMany() .HasForeignKey("RArtifactItemRecordId"); b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "RArtifactMasterRecord") .WithMany() .HasForeignKey("RArtifactMasterRecordId"); b.HasOne("RMuseum.Models.Note.RUserNote", "ReferenceNote") .WithMany() .HasForeignKey("ReferenceNoteId"); b.Navigation("RAppUser"); b.Navigation("RArtifactItemRecord"); b.Navigation("RArtifactMasterRecord"); b.Navigation("ReferenceNote"); }); modelBuilder.Entity("RMuseum.Models.Note.RUserNoteAbuseReport", b => { b.HasOne("RMuseum.Models.Note.RUserNote", "Note") .WithMany() .HasForeignKey("NoteId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Reporter") .WithMany() .HasForeignKey("ReporterId"); b.Navigation("Note"); b.Navigation("Reporter"); }); modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSession", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User") .WithMany() .HasForeignKey("UserId"); b.Navigation("User"); }); modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSessionFile", b => { b.HasOne("RMuseum.Models.UploadSession.UploadSession", null) .WithMany("UploadedFiles") .HasForeignKey("UploadSessionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RAppUser", b => { b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage") .WithMany() .HasForeignKey("RImageId"); b.Navigation("RImage"); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RCaptchaImage", b => { b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage") .WithMany() .HasForeignKey("RImageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("RImage"); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RPermission", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppRole", null) .WithMany("Permissions") .HasForeignKey("RAppRoleId"); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RTemporaryUserSession", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "RAppUser") .WithMany() .HasForeignKey("RAppUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("RAppUser"); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RUserBehaviourLog", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("RSecurityBackend.Models.Generic.Db.RGenericOption", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "RAppUser") .WithMany() .HasForeignKey("RAppUserId"); b.Navigation("RAppUser"); }); modelBuilder.Entity("RSecurityBackend.Models.Notification.RUserNotification", b => { b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("RMuseum.Models.Artifact.RPictureFile", b => { b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", null) .WithMany("Images") .HasForeignKey("RArtifactItemRecordId"); }); modelBuilder.Entity("RMuseum.Models.Accounting.GanjoorExpense", b => { b.Navigation("DonationExpenditures"); }); modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactItemRecord", b => { b.Navigation("Images"); b.Navigation("Tags"); }); modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactMasterRecord", b => { b.Navigation("Items"); b.Navigation("Tags"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCentury", b => { b.Navigation("Poets"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemCorrection", b => { b.Navigation("VerseOrderText"); }); modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemTranslation", b => { b.Navigation("Verses"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorAlbum", b => { b.Navigation("Tracks"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorSinger", b => { b.Navigation("Albums"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaCollection", b => { b.Navigation("Programs"); }); modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaProgram", b => { b.Navigation("Tracks"); }); modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSession", b => { b.Navigation("UploadedFiles"); }); modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RAppRole", b => { b.Navigation("Permissions"); }); #pragma warning restore 612, 618 } } }