У меня есть класс 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; }
}