using Domains.ApplicantDomain; using Domains.Users; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Infrastructure.Database.Applicants.Configuration; public class ApplicantConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder entity) { entity.OwnsOne(a => a.Name, NameConfiguration.Configure); entity.OwnsOne(a => a.FatherName, NameConfiguration.Configure); entity.OwnsOne(a => a.MotherName, NameConfiguration.Configure); entity.OwnsOne(a => a.Passport, PassportConfiguration.Configure); entity.HasOne().WithOne().HasForeignKey(a => a.UserId); entity.Property(a => a.Citizenship) .IsUnicode(false) .HasMaxLength(ConfigurationConstraints.CitizenshipLength); entity.Property(a => a.CitizenshipByBirth) .IsUnicode(false) .HasMaxLength(ConfigurationConstraints.CitizenshipLength); entity.Property(a => a.CountryOfBirth) .IsUnicode(false) .HasMaxLength(ConfigurationConstraints.CountryNameLength); entity.Property(a => a.CityOfBirth) .IsUnicode(false) .HasMaxLength(ConfigurationConstraints.CityNameLength); } }