diff options
| author | JPVenson <github@jpb.email> | 2025-09-16 21:08:04 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-16 13:08:04 -0600 |
| commit | a0b3e2b071509f440db10768f6f8984c7ea382d6 (patch) | |
| tree | 3f0244dc6002796b98f573f4570eb02aa248282b /src/Jellyfin.Database/Jellyfin.Database.Implementations | |
| parent | 2618a5fba23432c89882bf343f481f4248ae7ab3 (diff) | |
Optimize internal querying of UserData, other fixes (#14795)
Diffstat (limited to 'src/Jellyfin.Database/Jellyfin.Database.Implementations')
2 files changed, 5 insertions, 0 deletions
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemEntity.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemEntity.cs index a09a96317..d58466e5c 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemEntity.cs +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemEntity.cs @@ -146,6 +146,8 @@ public class BaseItemEntity public Guid? ParentId { get; set; } + public BaseItemEntity? DirectParent { get; set; } + public Guid? TopParentId { get; set; } public Guid? SeasonId { get; set; } @@ -168,6 +170,8 @@ public class BaseItemEntity public ICollection<AncestorId>? Children { get; set; } + public ICollection<BaseItemEntity>? DirectChildren { get; set; } + public ICollection<BaseItemMetadataField>? LockedFields { get; set; } public ICollection<BaseItemTrailerType>? TrailerTypes { get; set; } diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/ModelConfiguration/BaseItemConfiguration.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/ModelConfiguration/BaseItemConfiguration.cs index bcf458abd..6fccfd976 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/ModelConfiguration/BaseItemConfiguration.cs +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/ModelConfiguration/BaseItemConfiguration.cs @@ -27,6 +27,7 @@ public class BaseItemConfiguration : IEntityTypeConfiguration<BaseItemEntity> builder.HasMany(e => e.Provider); builder.HasMany(e => e.Parents); builder.HasMany(e => e.Children); + builder.HasMany(e => e.DirectChildren).WithOne(e => e.DirectParent).HasForeignKey(e => e.ParentId).OnDelete(DeleteBehavior.Cascade); builder.HasMany(e => e.LockedFields); builder.HasMany(e => e.TrailerTypes); builder.HasMany(e => e.Images); |
