mirror of https://github.com/ErsatzTV/ErsatzTV.git
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							33 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							33 lines
						
					
					
						
							1.1 KiB
						
					
					
				using ErsatzTV.Core.Domain; | 
						|
using Microsoft.EntityFrameworkCore; | 
						|
using Microsoft.EntityFrameworkCore.Metadata.Builders; | 
						|
 | 
						|
namespace ErsatzTV.Infrastructure.Data.Configurations; | 
						|
 | 
						|
public class PlayoutConfiguration : IEntityTypeConfiguration<Playout> | 
						|
{ | 
						|
    public void Configure(EntityTypeBuilder<Playout> builder) | 
						|
    { | 
						|
        builder.ToTable("Playout"); | 
						|
 | 
						|
        builder.HasMany(p => p.ProgramScheduleAlternates) | 
						|
            .WithOne(a => a.Playout) | 
						|
            .HasForeignKey(a => a.PlayoutId) | 
						|
            .OnDelete(DeleteBehavior.Cascade); | 
						|
 | 
						|
        builder.HasMany(p => p.Items) | 
						|
            .WithOne(pi => pi.Playout) | 
						|
            .HasForeignKey(pi => pi.PlayoutId) | 
						|
            .OnDelete(DeleteBehavior.Cascade); | 
						|
 | 
						|
        builder.OwnsOne(p => p.Anchor) | 
						|
            .ToTable("PlayoutAnchor") | 
						|
            .OwnsOne(a => a.ScheduleItemsEnumeratorState) | 
						|
            .ToTable("ScheduleItemsEnumeratorState"); | 
						|
 | 
						|
        builder.HasMany(p => p.ProgramScheduleAnchors) | 
						|
            .WithOne(a => a.Playout) | 
						|
            .HasForeignKey(a => a.PlayoutId) | 
						|
            .OnDelete(DeleteBehavior.Cascade); | 
						|
    } | 
						|
}
 | 
						|
 |