Вот моя (сокращенная) структура объекта:
Код: Выделить всё
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-ent
Мобильная версия