using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using OliverBooth.Common.Data; namespace OliverBooth.Data.Web.Configuration; /// /// Represents the configuration for the entity. /// internal sealed class TutorialArticleConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable("TutorialArticle"); builder.HasKey(e => e.Id); builder.Property(e => e.Id).IsRequired(); builder.Property(e => e.Folder).IsRequired(); builder.Property(e => e.Excerpt).HasMaxLength(512).IsRequired(false); builder.Property(e => e.Published).IsRequired(); builder.Property(e => e.Updated); builder.Property(e => e.Slug).IsRequired(); builder.Property(e => e.Title).IsRequired(); builder.Property(e => e.PreviewImageUrl).HasConversion(); builder.Property(e => e.NextPart); builder.Property(e => e.PreviousPart); builder.Property(e => e.RedirectFrom).IsRequired(false); builder.Property(e => e.Visibility).HasConversion>(); builder.Property(e => e.EnableComments).IsRequired(); } }