Вот моя (сокращенная) структура объекта:
Код: Выделить всё
public class ReviewProcess
{
public IReviewStageType CurrentStage { get; private set; }
}
public class ManagerReview : IReviewStageType
{
public string Name { get; private set;}
// State/actions for manager review
}
public class SeniorManagerReview : IReviewStageType
{
public string Name { get; private set;}
// State/actions for senior manager review
}
Я думал, что смогу создать IEntityTypeConfiguration, где я мог бы сопоставить IReviewStageType.Name в мою базу данных, поэтому моя таблица ReviewProcess будет выглядеть так: [Id, ReviewStageName]. А затем настройте логику для преобразования имени обратно в соответствующий конкретный тип (
Код: Выделить всё
ManagerReview/SeniorManagerReviewКод: Выделить всё
public void Configure(EntityTypeBuilder builder)
{
builder.OwnsOne(r => r.CurrentStage, stage =>
{
stage.Property(s => s.Name).HasColumnName("ReviewStage_Name");
});
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... using-enti
Мобильная версия