From ee0dad6f432e5bfdda074e3f006f4c4d3c418d08 Mon Sep 17 00:00:00 2001 From: JPVenson Date: Thu, 10 Oct 2024 14:32:49 +0000 Subject: Refactored ItemValue structure --- .../ModelConfiguration/AncestorIdConfiguration.cs | 2 ++ .../ModelConfiguration/ItemValuesConfiguration.cs | 4 ++-- .../ModelConfiguration/ItemValuesMapConfiguration.cs | 20 ++++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 Jellyfin.Server.Implementations/ModelConfiguration/ItemValuesMapConfiguration.cs (limited to 'Jellyfin.Server.Implementations/ModelConfiguration') diff --git a/Jellyfin.Server.Implementations/ModelConfiguration/AncestorIdConfiguration.cs b/Jellyfin.Server.Implementations/ModelConfiguration/AncestorIdConfiguration.cs index 0e90b8d82..fe5cf30ac 100644 --- a/Jellyfin.Server.Implementations/ModelConfiguration/AncestorIdConfiguration.cs +++ b/Jellyfin.Server.Implementations/ModelConfiguration/AncestorIdConfiguration.cs @@ -15,5 +15,7 @@ public class AncestorIdConfiguration : IEntityTypeConfiguration { builder.HasKey(e => new { e.ItemId, e.ParentItemId }); builder.HasIndex(e => e.ParentItemId); + builder.HasOne(e => e.ParentItem); + builder.HasOne(e => e.Item); } } diff --git a/Jellyfin.Server.Implementations/ModelConfiguration/ItemValuesConfiguration.cs b/Jellyfin.Server.Implementations/ModelConfiguration/ItemValuesConfiguration.cs index c39854f5a..7dfa2032e 100644 --- a/Jellyfin.Server.Implementations/ModelConfiguration/ItemValuesConfiguration.cs +++ b/Jellyfin.Server.Implementations/ModelConfiguration/ItemValuesConfiguration.cs @@ -13,7 +13,7 @@ public class ItemValuesConfiguration : IEntityTypeConfiguration /// public void Configure(EntityTypeBuilder builder) { - builder.HasKey(e => new { e.ItemId, e.Type, e.Value }); - builder.HasIndex(e => new { e.ItemId, e.Type, e.CleanValue }); + builder.HasKey(e => e.ItemValueId); + builder.HasIndex(e => new { e.Type, e.CleanValue }); } } diff --git a/Jellyfin.Server.Implementations/ModelConfiguration/ItemValuesMapConfiguration.cs b/Jellyfin.Server.Implementations/ModelConfiguration/ItemValuesMapConfiguration.cs new file mode 100644 index 000000000..9c22b114c --- /dev/null +++ b/Jellyfin.Server.Implementations/ModelConfiguration/ItemValuesMapConfiguration.cs @@ -0,0 +1,20 @@ +using System; +using Jellyfin.Data.Entities; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +namespace Jellyfin.Server.Implementations.ModelConfiguration; + +/// +/// itemvalues Configuration. +/// +public class ItemValuesMapConfiguration : IEntityTypeConfiguration +{ + /// + public void Configure(EntityTypeBuilder builder) + { + builder.HasKey(e => new { e.ItemValueId, e.ItemId }); + builder.HasOne(e => e.Item); + builder.HasOne(e => e.ItemValue); + } +} -- cgit v1.2.3