Autorreferenciación de relaciones de muchos a muchos

Yo tengo unTicket entidad:

    public class Ticket
    { 
        public int Id { get; set; }
        public string Title { get; set; }

        public virtual ICollection<Relation> RelatedTickets { get; set; }
    }

Quiero configurar auto-relaciones de muchos a muchos en Entity Framework Core, así que hice dos relaciones uno a muchos:

public class Relation
{
    [Required, ForeignKey("TicketFrom")]
    public int FromId { get; set; }

    [Required, ForeignKey("TicketTo")]
    public int ToId { get; set; }

    public virtual Ticket TicketFrom { get; set; }
    public virtual Ticket TicketTo { get; set; }
}

Intenté crear la relación usando una API fluida:

        builder.Entity<Relation>()
               .HasKey(uc => new { uc.FromId, uc.ToId });
        builder.Entity<Relation>()
           .HasOne(c => c.TicketFrom)
           .WithMany(p => p.RelatedTickets)
           .HasForeignKey(pc => pc.FromId);
        builder.Entity<Relation>()
           .HasOne(c => c.TicketTo)
           .WithMany(p => p.RelatedTickets)
           .HasForeignKey(pc => pc.ToId);

Pero como resultado tengo un error:

No se puede crear una relación entre 'Ticket.RelatedTickets' y 'Relation.TicketTo', porque ya existe una relación entre 'Ticket.RelatedTickets' y 'Relation.TicketForm'. Las propiedades de navegación solo pueden participar en una sola relación.

La posible solución es agregar la relación principal directamente aTicketEntity:

public class Ticket
{ 
    public int Id { get; set; }

    [Required, ForeignKey("ParentRelation")]
    public Nullable<int> ParentRelationId { get; set; }

    public virtual Ticket ParentRelation {get;set;}

    public virtual ICollection<Ticket> RelatedTickets { get; set; }
    ...
}

Con una API fluida como esta:

modelBuilder.Entity<Ticket> =>
{
    entity
        .HasMany(e => e.RelatedTickets)
        .WithOne(e => e.ParentRelation) 
        .HasForeignKey(e => e.ParentRelationId );
});

Pero parece 'sucio' almacenar la relación de padres de esta manera.
¿Cuál es el enfoque correcto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta