Я задал вопрос в другом посте, но, похоже, это был не тот вопрос, поэтому я перефразирую здесь:
У меня есть три класса:
public class StateLog : BaseModel
{
public Guid StateLogId { get; set; }
public Guid LookupMasterId { get; set; }
public Guid EntityId { get; set; }
public string Discriminator { get; set; }
public bool IsActive { get; set; }
public virtual LookupMaster State { get; set; }
}
Второй класс:
public class ApplicationState : StateLog
{
[Column("EntityId")]
public Guid ApplicationId { get; set; }
}
Существует еще один класс DocumentStates, который наследуется от StateLog.
Приложение:
public class Application : BaseModel
{
public Guid ApplicationId { get; set; }
public Guid UserId { get; set; }
public virtual User User { get; set; }
[Required]
public Guid ApplicationTypeId { get; set; }
public bool? AuthorizedToWork { get; set; } = false;
public string Token { get; set; }
public string ApplicationTitle { get; set; }
public string WorkStartDate { get; set; }
public Nullable<DateTime> SignedAt { get; set; } = DateTime.Now;
public bool? Signed { get; set; }
public string Notes { get; set; }
public virtual ICollection<ApplicationSelfDeclaration> ApplicationSelfDeclarations { get; set; }
public virtual ICollection<ApplicationState> ApplicationStates { get; set; }
public virtual ICollection<StateLog> StateLogs { get; set; }
}
Я пытаюсь сохранить журналы состояния как для приложения, так и для документов в одной таблице и на основе Discriminator, получить данные.
Например
_context.Applications.include(a => a.ApplicationState)
Это не работает.ApplicationState должен иметь столбец Alias EntityId как ApplicationId.Но это не работает.
Есть идеи, какие у меня есть варианты?
Заранее спасибо.