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.Enums;
|
||||||
|
using cuqmbr.TravelGuide.Domain.Entities;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using cuqmbr.TravelGuide.Persistence.TypeConverters;
|
using cuqmbr.TravelGuide.Persistence.TypeConverters;
|
||||||
|
|
||||||
@ -12,6 +13,15 @@ public class InMemoryDbContext : DbContext
|
|||||||
protected override void OnModelCreating(ModelBuilder builder)
|
protected override void OnModelCreating(ModelBuilder builder)
|
||||||
{
|
{
|
||||||
base.OnModelCreating(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(
|
protected override void ConfigureConventions(
|
||||||
@ -19,12 +29,26 @@ public class InMemoryDbContext : DbContext
|
|||||||
{
|
{
|
||||||
builder
|
builder
|
||||||
.Properties<VehicleType>()
|
.Properties<VehicleType>()
|
||||||
.HaveColumnType("vehicle_type")
|
.HaveColumnType("varchar(16)")
|
||||||
.HaveConversion<VehicleTypeConverter>();
|
.HaveConversion<VehicleTypeConverter>();
|
||||||
|
|
||||||
builder
|
builder
|
||||||
.Properties<Currency>()
|
.Properties<Currency>()
|
||||||
.HaveColumnType("currency")
|
.HaveColumnType("varchar(8)")
|
||||||
.HaveConversion<CurrencyConverter>();
|
.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