add inheritance and enums configuration to in memory db context
This commit is contained in:
parent
674130c52a
commit
5fc9308ada
@ -1,4 +1,5 @@
|
||||
using cuqmbr.TravelGuide.Domain.Enums;
|
||||
using cuqmbr.TravelGuide.Domain.Entities;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using cuqmbr.TravelGuide.Persistence.TypeConverters;
|
||||
|
||||
@ -12,6 +13,15 @@ public class InMemoryDbContext : DbContext
|
||||
protected override void OnModelCreating(ModelBuilder builder)
|
||||
{
|
||||
base.OnModelCreating(builder);
|
||||
|
||||
builder
|
||||
.Entity<Vehicle>()
|
||||
.ToTable("vehicles")
|
||||
.UseTphMappingStrategy()
|
||||
.HasDiscriminator(v => v.VehicleType)
|
||||
.HasValue<Bus>(VehicleType.Bus)
|
||||
.HasValue<Aircraft>(VehicleType.Aircraft)
|
||||
.HasValue<Train>(VehicleType.Train);
|
||||
}
|
||||
|
||||
protected override void ConfigureConventions(
|
||||
@ -19,12 +29,26 @@ public class InMemoryDbContext : DbContext
|
||||
{
|
||||
builder
|
||||
.Properties<VehicleType>()
|
||||
.HaveColumnType("vehicle_type")
|
||||
.HaveColumnType("varchar(16)")
|
||||
.HaveConversion<VehicleTypeConverter>();
|
||||
|
||||
builder
|
||||
.Properties<Currency>()
|
||||
.HaveColumnType("currency")
|
||||
.HaveColumnType("varchar(8)")
|
||||
.HaveConversion<CurrencyConverter>();
|
||||
|
||||
builder
|
||||
.Properties<DocumentType>()
|
||||
.HaveColumnType("varchar(64)")
|
||||
.HaveConversion<DocumentTypeConverter>();
|
||||
|
||||
builder
|
||||
.Properties<Sex>()
|
||||
.HaveColumnType("varchar(32)")
|
||||
.HaveConversion<SexConverter>();
|
||||
|
||||
builder
|
||||
.Properties<DateTimeOffset>()
|
||||
.HaveConversion<DateTimeOffsetConverter>();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user