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(p => p.Name, NameConfiguration.Configure); entity.OwnsOne(p => p.FatherName, NameConfiguration.Configure); entity.OwnsOne(p => p.MotherName, NameConfiguration.Configure); entity.OwnsOne(p => p.Passport, PassportConfiguration.Configure); entity.HasOne(a => a.CityOfBirth).WithMany().OnDelete(DeleteBehavior.Restrict); entity.HasOne(a => a.CountryOfBirth).WithMany().OnDelete(DeleteBehavior.Restrict); entity.HasOne().WithOne().HasForeignKey(a => a.UserId); entity.Property(p => p.Citizenship) .IsUnicode(false) .HasMaxLength(30); entity.Property(p => p.CitizenshipByBirth) .IsUnicode(false) .HasMaxLength(30); } }