* refactor sqlite into separate library * support mysql * fixes * sql fixes * cleanup * update changelog
1307 lines
46 KiB
C#
1307 lines
46 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using ErsatzTV.Infrastructure.Data;
|
|
using ErsatzTV.Infrastructure.Sqlite.Data;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
|
|
namespace ErsatzTV.Infrastructure.Sqlite.Migrations
|
|
{
|
|
[DbContext(typeof(TvContext))]
|
|
[Migration("20210221215810_RemoveScheduleItemsAndPosters")]
|
|
partial class RemoveScheduleItemsAndPosters
|
|
{
|
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder
|
|
.HasAnnotation("ProductVersion", "5.0.3");
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.AggregateModels.GenericIntegerId", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.ToView("No table or view exists for GenericIntegerId");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.AggregateModels.MediaCollectionSummary", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool>("IsSimple")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("ItemCount")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.ToView("No table or view exists for MediaCollectionSummary");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.AggregateModels.MediaItemSummary", b =>
|
|
{
|
|
b.Property<int>("MediaItemId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Poster")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("SortTitle")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Subtitle")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Title")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.ToView("No table or view exists for MediaItemSummary");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Channel", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("FFmpegProfileId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Logo")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("Number")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("StreamingMode")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<Guid>("UniqueId")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("FFmpegProfileId");
|
|
|
|
b.HasIndex("Number")
|
|
.IsUnique();
|
|
|
|
b.ToTable("Channels");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ConfigElement", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Key")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Value")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Key")
|
|
.IsUnique();
|
|
|
|
b.ToTable("ConfigElements");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.FFmpegProfile", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("AudioBitrate")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("AudioBufferSize")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("AudioChannels")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("AudioCodec")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("AudioSampleRate")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("AudioVolume")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<bool>("NormalizeAudio")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool>("NormalizeAudioCodec")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool>("NormalizeResolution")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool>("NormalizeVideoCodec")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("ResolutionId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("ThreadCount")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool>("Transcode")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("VideoBitrate")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("VideoBufferSize")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("VideoCodec")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("ResolutionId");
|
|
|
|
b.ToTable("FFmpegProfiles");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaCollection", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name")
|
|
.IsUnique();
|
|
|
|
b.ToTable("MediaCollections");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaItem", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTime?>("LastWriteTime")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("MediaSourceId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Path")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Poster")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTime?>("PosterLastWriteTime")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("MediaSourceId");
|
|
|
|
b.ToTable("MediaItems");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaSource", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("SourceType")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name")
|
|
.IsUnique();
|
|
|
|
b.ToTable("MediaSources");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMetadata", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("ContentRating")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTime?>("LastWriteTime")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("MovieId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Outline")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Plot")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTime?>("Premiered")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("SortTitle")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("Source")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Tagline")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Title")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int?>("Year")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("MovieId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("MovieMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Playout", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("ChannelId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("ProgramScheduleId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("ProgramSchedulePlayoutType")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("ChannelId");
|
|
|
|
b.HasIndex("ProgramScheduleId");
|
|
|
|
b.ToTable("Playouts");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutItem", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTimeOffset>("Finish")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("MediaItemId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("PlayoutId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTimeOffset>("Start")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("MediaItemId");
|
|
|
|
b.HasIndex("PlayoutId");
|
|
|
|
b.ToTable("PlayoutItems");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutProgramScheduleAnchor", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("CollectionId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("CollectionType")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("PlayoutId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("ProgramScheduleId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("PlayoutId");
|
|
|
|
b.HasIndex("ProgramScheduleId");
|
|
|
|
b.ToTable("PlayoutProgramScheduleItemAnchors");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSourceConnection", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("PlexMediaSourceId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Uri")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("PlexMediaSourceId");
|
|
|
|
b.ToTable("PlexMediaSourceConnections");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSourceLibrary", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Key")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("MediaType")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int?>("PlexMediaSourceId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("PlexMediaSourceId");
|
|
|
|
b.ToTable("PlexMediaSourceLibraries");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramSchedule", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("MediaCollectionPlaybackOrder")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name")
|
|
.IsUnique();
|
|
|
|
b.ToTable("ProgramSchedules");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItem", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("CollectionType")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("Index")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("MediaCollectionId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("ProgramScheduleId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<TimeSpan?>("StartTime")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int?>("TelevisionSeasonId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("TelevisionShowId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("MediaCollectionId");
|
|
|
|
b.HasIndex("ProgramScheduleId");
|
|
|
|
b.HasIndex("TelevisionSeasonId");
|
|
|
|
b.HasIndex("TelevisionShowId");
|
|
|
|
b.ToTable("ProgramScheduleItems");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Resolution", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("Height")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("Width")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Resolutions");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionEpisodeMetadata", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTime?>("Aired")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("Episode")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTime?>("LastWriteTime")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Plot")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("Season")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("SortTitle")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("Source")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("TelevisionEpisodeId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Title")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("TelevisionEpisodeId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("TelevisionEpisodeMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionSeason", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("Number")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Path")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Poster")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTime?>("PosterLastWriteTime")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("TelevisionShowId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("TelevisionShowId");
|
|
|
|
b.ToTable("TelevisionSeasons");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionShow", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Poster")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTime?>("PosterLastWriteTime")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("TelevisionShows");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionShowMetadata", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTime?>("LastWriteTime")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Plot")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("SortTitle")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("Source")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("TelevisionShowId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Title")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int?>("Year")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("TelevisionShowId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("TelevisionShowMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionShowSource", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Discriminator")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("TelevisionShowId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("TelevisionShowId");
|
|
|
|
b.ToTable("TelevisionShowSource");
|
|
|
|
b.HasDiscriminator<string>("Discriminator").HasValue("TelevisionShowSource");
|
|
});
|
|
|
|
modelBuilder.Entity("MovieMediaItemSimpleMediaCollection", b =>
|
|
{
|
|
b.Property<int>("MoviesId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("SimpleMediaCollectionsId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("MoviesId", "SimpleMediaCollectionsId");
|
|
|
|
b.HasIndex("SimpleMediaCollectionsId");
|
|
|
|
b.ToTable("SimpleMediaCollectionMovies");
|
|
});
|
|
|
|
modelBuilder.Entity("SimpleMediaCollectionTelevisionEpisodeMediaItem", b =>
|
|
{
|
|
b.Property<int>("SimpleMediaCollectionsId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("TelevisionEpisodesId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("SimpleMediaCollectionsId", "TelevisionEpisodesId");
|
|
|
|
b.HasIndex("TelevisionEpisodesId");
|
|
|
|
b.ToTable("SimpleMediaCollectionEpisodes");
|
|
});
|
|
|
|
modelBuilder.Entity("SimpleMediaCollectionTelevisionSeason", b =>
|
|
{
|
|
b.Property<int>("SimpleMediaCollectionsId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("TelevisionSeasonsId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("SimpleMediaCollectionsId", "TelevisionSeasonsId");
|
|
|
|
b.HasIndex("TelevisionSeasonsId");
|
|
|
|
b.ToTable("SimpleMediaCollectionSeasons");
|
|
});
|
|
|
|
modelBuilder.Entity("SimpleMediaCollectionTelevisionShow", b =>
|
|
{
|
|
b.Property<int>("SimpleMediaCollectionsId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("TelevisionShowsId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("SimpleMediaCollectionsId", "TelevisionShowsId");
|
|
|
|
b.HasIndex("TelevisionShowsId");
|
|
|
|
b.ToTable("SimpleMediaCollectionShows");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.SimpleMediaCollection", b =>
|
|
{
|
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaCollection");
|
|
|
|
b.ToTable("SimpleMediaCollections");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMediaItem", b =>
|
|
{
|
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem");
|
|
|
|
b.Property<int>("MetadataId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.ToTable("Movies");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionEpisodeMediaItem", b =>
|
|
{
|
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem");
|
|
|
|
b.Property<int>("SeasonId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasIndex("SeasonId");
|
|
|
|
b.ToTable("TelevisionEpisodes");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalMediaSource", b =>
|
|
{
|
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaSource");
|
|
|
|
b.Property<string>("Folder")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("MediaType")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.ToTable("LocalMediaSources");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSource", b =>
|
|
{
|
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaSource");
|
|
|
|
b.Property<string>("ClientIdentifier")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("ProductVersion")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.ToTable("PlexMediaSources");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemDuration", b =>
|
|
{
|
|
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem");
|
|
|
|
b.Property<bool>("OfflineTail")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<TimeSpan>("PlayoutDuration")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.ToTable("ProgramScheduleDurationItems");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemFlood", b =>
|
|
{
|
|
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem");
|
|
|
|
b.ToTable("ProgramScheduleFloodItems");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemMultiple", b =>
|
|
{
|
|
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem");
|
|
|
|
b.Property<int>("Count")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.ToTable("ProgramScheduleMultipleItems");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemOne", b =>
|
|
{
|
|
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem");
|
|
|
|
b.ToTable("ProgramScheduleOneItems");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalTelevisionShowSource", b =>
|
|
{
|
|
b.HasBaseType("ErsatzTV.Core.Domain.TelevisionShowSource");
|
|
|
|
b.Property<int>("MediaSourceId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Path")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasIndex("MediaSourceId");
|
|
|
|
b.HasDiscriminator().HasValue("LocalTelevisionShowSource");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Channel", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.FFmpegProfile", "FFmpegProfile")
|
|
.WithMany()
|
|
.HasForeignKey("FFmpegProfileId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("FFmpegProfile");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.FFmpegProfile", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.Resolution", "Resolution")
|
|
.WithMany()
|
|
.HasForeignKey("ResolutionId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Resolution");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaItem", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaSource", "Source")
|
|
.WithMany()
|
|
.HasForeignKey("MediaSourceId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.OwnsOne("ErsatzTV.Core.Domain.MediaItemStatistics", "Statistics", b1 =>
|
|
{
|
|
b1.Property<int>("MediaItemId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b1.Property<string>("AudioCodec")
|
|
.HasColumnType("TEXT");
|
|
|
|
b1.Property<string>("DisplayAspectRatio")
|
|
.HasColumnType("TEXT");
|
|
|
|
b1.Property<TimeSpan>("Duration")
|
|
.HasColumnType("TEXT");
|
|
|
|
b1.Property<int>("Height")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b1.Property<DateTime?>("LastWriteTime")
|
|
.HasColumnType("TEXT");
|
|
|
|
b1.Property<string>("SampleAspectRatio")
|
|
.HasColumnType("TEXT");
|
|
|
|
b1.Property<string>("VideoCodec")
|
|
.HasColumnType("TEXT");
|
|
|
|
b1.Property<int>("VideoScanType")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b1.Property<int>("Width")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b1.HasKey("MediaItemId");
|
|
|
|
b1.ToTable("MediaItems");
|
|
|
|
b1.WithOwner()
|
|
.HasForeignKey("MediaItemId");
|
|
});
|
|
|
|
b.Navigation("Source");
|
|
|
|
b.Navigation("Statistics");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMetadata", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.MovieMediaItem", "Movie")
|
|
.WithOne("Metadata")
|
|
.HasForeignKey("ErsatzTV.Core.Domain.MovieMetadata", "MovieId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Movie");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Playout", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.Channel", "Channel")
|
|
.WithMany("Playouts")
|
|
.HasForeignKey("ChannelId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ProgramSchedule", "ProgramSchedule")
|
|
.WithMany("Playouts")
|
|
.HasForeignKey("ProgramScheduleId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.OwnsOne("ErsatzTV.Core.Domain.PlayoutAnchor", "Anchor", b1 =>
|
|
{
|
|
b1.Property<int>("PlayoutId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b1.Property<int>("NextScheduleItemId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b1.Property<DateTimeOffset>("NextStart")
|
|
.HasColumnType("TEXT");
|
|
|
|
b1.HasKey("PlayoutId");
|
|
|
|
b1.HasIndex("NextScheduleItemId");
|
|
|
|
b1.ToTable("Playouts");
|
|
|
|
b1.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", "NextScheduleItem")
|
|
.WithMany()
|
|
.HasForeignKey("NextScheduleItemId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b1.WithOwner()
|
|
.HasForeignKey("PlayoutId");
|
|
|
|
b1.Navigation("NextScheduleItem");
|
|
});
|
|
|
|
b.Navigation("Anchor");
|
|
|
|
b.Navigation("Channel");
|
|
|
|
b.Navigation("ProgramSchedule");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutItem", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", "MediaItem")
|
|
.WithMany()
|
|
.HasForeignKey("MediaItemId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("ErsatzTV.Core.Domain.Playout", "Playout")
|
|
.WithMany("Items")
|
|
.HasForeignKey("PlayoutId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("MediaItem");
|
|
|
|
b.Navigation("Playout");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutProgramScheduleAnchor", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.Playout", "Playout")
|
|
.WithMany("ProgramScheduleAnchors")
|
|
.HasForeignKey("PlayoutId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ProgramSchedule", "ProgramSchedule")
|
|
.WithMany()
|
|
.HasForeignKey("ProgramScheduleId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.OwnsOne("ErsatzTV.Core.Domain.MediaCollectionEnumeratorState", "EnumeratorState", b1 =>
|
|
{
|
|
b1.Property<int>("PlayoutProgramScheduleAnchorId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b1.Property<int>("Index")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b1.Property<int>("Seed")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b1.HasKey("PlayoutProgramScheduleAnchorId");
|
|
|
|
b1.ToTable("PlayoutProgramScheduleItemAnchors");
|
|
|
|
b1.WithOwner()
|
|
.HasForeignKey("PlayoutProgramScheduleAnchorId");
|
|
});
|
|
|
|
b.Navigation("EnumeratorState");
|
|
|
|
b.Navigation("Playout");
|
|
|
|
b.Navigation("ProgramSchedule");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSourceConnection", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.PlexMediaSource", null)
|
|
.WithMany("Connections")
|
|
.HasForeignKey("PlexMediaSourceId");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSourceLibrary", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.PlexMediaSource", null)
|
|
.WithMany("Libraries")
|
|
.HasForeignKey("PlexMediaSourceId");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItem", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaCollection", "MediaCollection")
|
|
.WithMany()
|
|
.HasForeignKey("MediaCollectionId");
|
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ProgramSchedule", "ProgramSchedule")
|
|
.WithMany("Items")
|
|
.HasForeignKey("ProgramScheduleId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("ErsatzTV.Core.Domain.TelevisionSeason", "TelevisionSeason")
|
|
.WithMany()
|
|
.HasForeignKey("TelevisionSeasonId");
|
|
|
|
b.HasOne("ErsatzTV.Core.Domain.TelevisionShow", "TelevisionShow")
|
|
.WithMany()
|
|
.HasForeignKey("TelevisionShowId");
|
|
|
|
b.Navigation("MediaCollection");
|
|
|
|
b.Navigation("ProgramSchedule");
|
|
|
|
b.Navigation("TelevisionSeason");
|
|
|
|
b.Navigation("TelevisionShow");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionEpisodeMetadata", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.TelevisionEpisodeMediaItem", "TelevisionEpisode")
|
|
.WithOne("Metadata")
|
|
.HasForeignKey("ErsatzTV.Core.Domain.TelevisionEpisodeMetadata", "TelevisionEpisodeId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("TelevisionEpisode");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionSeason", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.TelevisionShow", "TelevisionShow")
|
|
.WithMany("Seasons")
|
|
.HasForeignKey("TelevisionShowId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("TelevisionShow");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionShowMetadata", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.TelevisionShow", "TelevisionShow")
|
|
.WithOne("Metadata")
|
|
.HasForeignKey("ErsatzTV.Core.Domain.TelevisionShowMetadata", "TelevisionShowId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("TelevisionShow");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionShowSource", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.TelevisionShow", "TelevisionShow")
|
|
.WithMany("Sources")
|
|
.HasForeignKey("TelevisionShowId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("TelevisionShow");
|
|
});
|
|
|
|
modelBuilder.Entity("MovieMediaItemSimpleMediaCollection", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.MovieMediaItem", null)
|
|
.WithMany()
|
|
.HasForeignKey("MoviesId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("ErsatzTV.Core.Domain.SimpleMediaCollection", null)
|
|
.WithMany()
|
|
.HasForeignKey("SimpleMediaCollectionsId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("SimpleMediaCollectionTelevisionEpisodeMediaItem", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.SimpleMediaCollection", null)
|
|
.WithMany()
|
|
.HasForeignKey("SimpleMediaCollectionsId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("ErsatzTV.Core.Domain.TelevisionEpisodeMediaItem", null)
|
|
.WithMany()
|
|
.HasForeignKey("TelevisionEpisodesId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("SimpleMediaCollectionTelevisionSeason", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.SimpleMediaCollection", null)
|
|
.WithMany()
|
|
.HasForeignKey("SimpleMediaCollectionsId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("ErsatzTV.Core.Domain.TelevisionSeason", null)
|
|
.WithMany()
|
|
.HasForeignKey("TelevisionSeasonsId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("SimpleMediaCollectionTelevisionShow", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.SimpleMediaCollection", null)
|
|
.WithMany()
|
|
.HasForeignKey("SimpleMediaCollectionsId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("ErsatzTV.Core.Domain.TelevisionShow", null)
|
|
.WithMany()
|
|
.HasForeignKey("TelevisionShowsId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.SimpleMediaCollection", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaCollection", null)
|
|
.WithOne()
|
|
.HasForeignKey("ErsatzTV.Core.Domain.SimpleMediaCollection", "Id")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMediaItem", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null)
|
|
.WithOne()
|
|
.HasForeignKey("ErsatzTV.Core.Domain.MovieMediaItem", "Id")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionEpisodeMediaItem", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null)
|
|
.WithOne()
|
|
.HasForeignKey("ErsatzTV.Core.Domain.TelevisionEpisodeMediaItem", "Id")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("ErsatzTV.Core.Domain.TelevisionSeason", "Season")
|
|
.WithMany("Episodes")
|
|
.HasForeignKey("SeasonId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Season");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalMediaSource", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaSource", null)
|
|
.WithOne()
|
|
.HasForeignKey("ErsatzTV.Core.Domain.LocalMediaSource", "Id")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSource", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaSource", null)
|
|
.WithOne()
|
|
.HasForeignKey("ErsatzTV.Core.Domain.PlexMediaSource", "Id")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemDuration", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null)
|
|
.WithOne()
|
|
.HasForeignKey("ErsatzTV.Core.Domain.ProgramScheduleItemDuration", "Id")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemFlood", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null)
|
|
.WithOne()
|
|
.HasForeignKey("ErsatzTV.Core.Domain.ProgramScheduleItemFlood", "Id")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemMultiple", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null)
|
|
.WithOne()
|
|
.HasForeignKey("ErsatzTV.Core.Domain.ProgramScheduleItemMultiple", "Id")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemOne", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null)
|
|
.WithOne()
|
|
.HasForeignKey("ErsatzTV.Core.Domain.ProgramScheduleItemOne", "Id")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalTelevisionShowSource", b =>
|
|
{
|
|
b.HasOne("ErsatzTV.Core.Domain.LocalMediaSource", "MediaSource")
|
|
.WithMany()
|
|
.HasForeignKey("MediaSourceId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("MediaSource");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Channel", b =>
|
|
{
|
|
b.Navigation("Playouts");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Playout", b =>
|
|
{
|
|
b.Navigation("Items");
|
|
|
|
b.Navigation("ProgramScheduleAnchors");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramSchedule", b =>
|
|
{
|
|
b.Navigation("Items");
|
|
|
|
b.Navigation("Playouts");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionSeason", b =>
|
|
{
|
|
b.Navigation("Episodes");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionShow", b =>
|
|
{
|
|
b.Navigation("Metadata");
|
|
|
|
b.Navigation("Seasons");
|
|
|
|
b.Navigation("Sources");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMediaItem", b =>
|
|
{
|
|
b.Navigation("Metadata");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TelevisionEpisodeMediaItem", b =>
|
|
{
|
|
b.Navigation("Metadata");
|
|
});
|
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSource", b =>
|
|
{
|
|
b.Navigation("Connections");
|
|
|
|
b.Navigation("Libraries");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|