Fixed configurations of owned types
This commit is contained in:
		| @@ -1,15 +1,15 @@ | ||||
| using Domains.VisaApplicationDomain; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Domains; | ||||
| using Domains.VisaApplicationDomain; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.VisaApplications.Configuration; | ||||
|  | ||||
| public class PastVisaConfiguration : IEntityTypeConfiguration<PastVisa> | ||||
| public static class PastVisaConfiguration<T> where T : class, IEntity | ||||
| { | ||||
|     public void Configure(EntityTypeBuilder<PastVisa> entity) | ||||
|     public static void Configure(OwnedNavigationBuilder<T, PastVisa> entity) | ||||
|     { | ||||
|         entity.Property(p => p.Name) | ||||
|             .IsUnicode(false) | ||||
|             .HasMaxLength(70); | ||||
|     } | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -0,0 +1,15 @@ | ||||
| using Domains; | ||||
| using Domains.VisaApplicationDomain; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.VisaApplications.Configuration | ||||
| { | ||||
|     public static class PastVisitConfiguration<T> where T : class, IEntity | ||||
|     { | ||||
|         public static void Configure(OwnedNavigationBuilder<T, PastVisit> entity) | ||||
|         { | ||||
|             entity.HasOne(p => p.DestinationCountry).WithMany().OnDelete(DeleteBehavior.Restrict); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -1,15 +1,15 @@ | ||||
| using Domains.VisaApplicationDomain; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Domains; | ||||
| using Domains.VisaApplicationDomain; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.VisaApplications.Configuration; | ||||
|  | ||||
| public class PermissionToDestCountryConfiguration : IEntityTypeConfiguration<PermissionToDestCountry> | ||||
| public static class PermissionToDestCountryConfiguration<T> where T : class, IEntity | ||||
| { | ||||
|     public void Configure(EntityTypeBuilder<PermissionToDestCountry> entity) | ||||
|     public static void Configure(OwnedNavigationBuilder<T, PermissionToDestCountry> entity) | ||||
|     { | ||||
|         entity.Property(p => p.Issuer) | ||||
|             .IsUnicode(false) | ||||
|             .HasMaxLength(200); | ||||
|     } | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -1,15 +1,15 @@ | ||||
| using Domains.VisaApplicationDomain; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Domains; | ||||
| using Domains.VisaApplicationDomain; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.VisaApplications.Configuration; | ||||
|  | ||||
| public class ReentryPermitConfiguration : IEntityTypeConfiguration<ReentryPermit> | ||||
| public static class ReentryPermitConfiguration<T> where T : class, IEntity | ||||
| { | ||||
|     public void Configure(EntityTypeBuilder<ReentryPermit> entity) | ||||
|     public static void Configure(OwnedNavigationBuilder<T, ReentryPermit> entity) | ||||
|     { | ||||
|         entity.Property(p => p.Number) | ||||
|             .IsUnicode(false) | ||||
|             .HasMaxLength(25); | ||||
|     } | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -10,14 +10,16 @@ public class VisaApplicationConfiguration : IEntityTypeConfiguration<VisaApplica | ||||
|     { | ||||
|         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(a => a.VisaApplications) | ||||
|             .WithMany() | ||||
|             .HasForeignKey(va => va.ApplicantId) | ||||
|             .IsRequired(); | ||||
|  | ||||
|         entity.OwnsOne(p => p.ReentryPermit); | ||||
|         entity.OwnsOne(p => p.PermissionToDestCountry); | ||||
|         entity.OwnsMany(p => p.PastVisits).ToTable("PastVisits"); | ||||
|         entity.OwnsMany(p => p.PastVisas).ToTable("PastVisas"); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user