using Domains; using Domains.ApplicantDomain; using Domains.VisaApplicationDomain; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Infrastructure.Database.VisaApplications.Configuration; public class VisaApplicationConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder entity) { entity.OwnsOne(va => va.ReentryPermit, ReentryPermitConfiguration.Configure); entity.OwnsOne(va => va.PermissionToDestCountry, PermissionToDestCountryConfiguration.Configure); entity.OwnsMany(va => va.PastVisits, PastVisitConfiguration.Configure); entity.OwnsMany(va => va.PastVisas, PastVisaConfiguration.Configure); entity.Property(va => va.DestinationCountry) .IsUnicode(false) .HasMaxLength(ConfigurationConstraints.CountryNameLength); entity.HasOne() .WithMany() .HasForeignKey(va => va.ApplicantId) .IsRequired(); } }