diff options
Diffstat (limited to 'src/Jellyfin.Database/Jellyfin.Database.Implementations/ModelConfiguration/BaseItemImageInfoConfiguration.cs')
| -rw-r--r-- | src/Jellyfin.Database/Jellyfin.Database.Implementations/ModelConfiguration/BaseItemImageInfoConfiguration.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/ModelConfiguration/BaseItemImageInfoConfiguration.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/ModelConfiguration/BaseItemImageInfoConfiguration.cs new file mode 100644 index 0000000000..e835931b5f --- /dev/null +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/ModelConfiguration/BaseItemImageInfoConfiguration.cs @@ -0,0 +1,24 @@ +using Jellyfin.Database.Implementations.Entities; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +namespace Jellyfin.Database.Implementations.ModelConfiguration; + +/// <summary> +/// FluentAPI configuration for the BaseItemImageInfo entity. +/// </summary> +public class BaseItemImageInfoConfiguration : IEntityTypeConfiguration<BaseItemImageInfo> +{ + /// <inheritdoc/> + public void Configure(EntityTypeBuilder<BaseItemImageInfo> builder) + { + builder.HasKey(e => e.Id); + builder.HasOne(e => e.Item).WithMany(e => e.Images).HasForeignKey(e => e.ItemId); + + // Index for efficient lookups and deletes by ItemId + builder.HasIndex(e => e.ItemId); + + // Composite index for filtering by item and image type + builder.HasIndex(e => new { e.ItemId, e.ImageType }); + } +} |
