Files
ersatztv/ErsatzTV.Infrastructure/Data/Configurations/ProgramScheduleConfiguration.cs
T
2021-02-08 21:13:53 -06:00

25 lines
808 B
C#

using ErsatzTV.Core.Domain;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace ErsatzTV.Infrastructure.Data.Configurations
{
public class ProgramScheduleConfiguration : IEntityTypeConfiguration<ProgramSchedule>
{
public void Configure(EntityTypeBuilder<ProgramSchedule> builder)
{
builder.HasIndex(ps => ps.Name)
.IsUnique();
builder.HasMany(ps => ps.Items)
.WithOne(i => i.ProgramSchedule)
.HasForeignKey(i => i.ProgramScheduleId)
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(ps => ps.Playouts)
.WithOne(p => p.ProgramSchedule)
.HasForeignKey(p => p.ProgramScheduleId);
}
}
}