Fix ancestors (#13827)

This commit is contained in:
Tim Eisele
2025-04-05 18:49:29 +02:00
committed by GitHub
parent 0e7ae0e9a4
commit de3d1445c0
7 changed files with 1688 additions and 10 deletions

View File

@@ -164,7 +164,7 @@ public class BaseItemEntity
public ICollection<BaseItemProvider>? Provider { get; set; }
public ICollection<AncestorId>? ParentAncestors { get; set; }
public ICollection<AncestorId>? Parents { get; set; }
public ICollection<AncestorId>? Children { get; set; }

View File

@@ -14,7 +14,7 @@ public class AncestorIdConfiguration : IEntityTypeConfiguration<AncestorId>
{
builder.HasKey(e => new { e.ItemId, e.ParentItemId });
builder.HasIndex(e => e.ParentItemId);
builder.HasOne(e => e.ParentItem).WithMany(e => e.ParentAncestors).HasForeignKey(f => f.ParentItemId);
builder.HasOne(e => e.Item).WithMany(e => e.Children).HasForeignKey(f => f.ItemId);
builder.HasOne(e => e.ParentItem).WithMany(e => e.Children).HasForeignKey(f => f.ParentItemId);
builder.HasOne(e => e.Item).WithMany(e => e.Parents).HasForeignKey(f => f.ItemId);
}
}

View File

@@ -24,7 +24,7 @@ public class BaseItemConfiguration : IEntityTypeConfiguration<BaseItemEntity>
builder.HasMany(e => e.MediaStreams);
builder.HasMany(e => e.Chapters);
builder.HasMany(e => e.Provider);
builder.HasMany(e => e.ParentAncestors);
builder.HasMany(e => e.Parents);
builder.HasMany(e => e.Children);
builder.HasMany(e => e.LockedFields);
builder.HasMany(e => e.TrailerTypes);

View File

@@ -0,0 +1,20 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Jellyfin.Server.Implementations.Migrations
{
/// <inheritdoc />
public partial class FixAncestors : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}
}

View File

@@ -1405,13 +1405,13 @@ namespace Jellyfin.Server.Implementations.Migrations
modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AncestorId", b =>
{
b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
.WithMany("Children")
.WithMany("Parents")
.HasForeignKey("ItemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "ParentItem")
.WithMany("ParentAncestors")
.WithMany("Children")
.HasForeignKey("ParentItemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
@@ -1642,7 +1642,7 @@ namespace Jellyfin.Server.Implementations.Migrations
b.Navigation("MediaStreams");
b.Navigation("ParentAncestors");
b.Navigation("Parents");
b.Navigation("Peoples");