using Core.Entities.OrderAggregate; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Infrastructure.Data.Config { public class OrderConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.OwnsOne(o => o.ShipToAddress, a => { a.WithOwner(); }); builder.Property(s => s.Status) .HasConversion( o => o.ToString(), o => (OrderStatus) Enum.Parse(typeof(OrderStatus), o) ); builder.HasMany(o => o.OrderItems).WithOne().OnDelete(DeleteBehavior.Cascade); } } }