Код: Выделить всё
class MyModel
{
public ICollection BaseThings {get; set;}
}
Код: Выделить всё
abstract class MyBaseType
{
public int Id {get; init;}
public string Name {get; init}
}
class MyConcreteThingA
{
public decimal Value {get; init;}
}
class MyConcreteThingB
{
public string BlobUrl {get; init;
}
Я пробовал добавить свойство TypeName к базовому типу:
Код: Выделить всё
abstract class MyBaseType
{
public int Id {get; init;}
public string Name {get; init}
public string TypeName => GetType().Name;
}
Код: Выделить всё
modelBuilder.Entity().HasDiscriminator(nameof(MyBaseType.TypeName));
Невозможно создать «DbContext» типа «MyProject.MyDbContext» . Исключение «Соответствующий тип CLR для типа сущности MyBaseType» не может быть создан, и в модели нет производного типа сущности, соответствующего конкретному типу CLR.
Как это сделать?
Подробнее здесь: https://stackoverflow.com/questions/787 ... odel-in-ef
Мобильная версия