26 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using Domains.VisaApplicationDomain;
 | |
| using Microsoft.EntityFrameworkCore;
 | |
| using Microsoft.EntityFrameworkCore.Metadata.Builders;
 | |
| 
 | |
| namespace Infrastructure.Database.VisaApplications.Configuration;
 | |
| 
 | |
| public class VisaApplicationConfiguration : IEntityTypeConfiguration<VisaApplication>
 | |
| {
 | |
|     public void Configure(EntityTypeBuilder<VisaApplication> entity)
 | |
|     {
 | |
|         entity.ToTable("VisaApplications");
 | |
| 
 | |
|         entity.OwnsOne(va => va.ReentryPermit, ReentryPermitConfiguration<VisaApplication>.Configure);
 | |
|         entity.OwnsOne(va => va.PermissionToDestCountry, PermissionToDestCountryConfiguration<VisaApplication>.Configure);
 | |
|         entity.OwnsMany(va => va.PastVisits, PastVisitConfiguration<VisaApplication>.Configure).ToTable("PastVisits");
 | |
|         entity.OwnsMany(va => va.PastVisas).ToTable("PastVisas");
 | |
| 
 | |
|         entity.HasOne(va => va.DestinationCountry).WithMany().OnDelete(DeleteBehavior.Restrict);
 | |
| 
 | |
|         entity.HasOne(va => va.Applicant)
 | |
|             .WithMany()
 | |
|             .HasForeignKey(va => va.ApplicantId)
 | |
|             .IsRequired();
 | |
|     }
 | |
| }
 |