Tak už jsem na to přišel. Nesmí se používat konfigurace, které se přímo týkají děděného typu u kterého modifikuji diskriminátor, protože ty z nějakého důvodu přepíší chování na defaultní. Jdou ale použít DataAnotations. V OnModelCreating pak:
modelBuilder.Entity<BaseClass>()
.Map(x => x.Requires("ClassType").HasValue("B").HasColumnType("char").HasMaxLength(5))
.Map<Foo>(x => x.Requires("ClassType").HasValue("FOO"))
.Map<Bar>(x => x.Requires("ClassType").HasValue("BAR"))
.Map<FooBar>(x => x.Requires("ClassType").HasValue("FBAR"));
Pak má diskriminátor název "ClassType" a jeho typ je char(5). A dle tříd nabývá hodnot "B", "FOO", "BAR", "FBAR".
|