Сопоставление интерфейса как компонента класса - PullRequest
0 голосов
/ 24 июня 2019

У меня есть класс Foo со свойством, которое является интерфейсом.Я попытался отобразить его как компонент с Mapping ByCode и в БД с 4 таблицами.

То, что мне удалось получить, - это преобразовать интерфейс в абстрактный класс и отобразить все 2 конкретных класса внутри 1.стол с дискриминатором.Но это не то, что я хотел на самом деле!Это был просто обходной путь, чтобы продолжить мою работу.

public class Foo
{
    public virtual int IdFoo { get; set; }
    public virtual string Name { get; set; }
    public virtual IActivity Activity { get; set; }
}

public interface IActivity
{
    int IdActivity { get; set; }
    string Description { get; set; }
}

public class ActivityExtra : IActivity
{
    public virtual string Request { get; set; }
    public virtual int ExtraHours { get; set; }
}

public class ActivityBase : IActivity
{
    public virtual int DayOfTheWeek { get; set; }
    public virtual string SomethingElse { get; set; }
}
...