TPH с использованием двух свойствC#

Место общения программистов C#
Ответить
Anonymous
 TPH с использованием двух свойств

Сообщение Anonymous »

Я работаю над проектом, в котором у меня есть API напоминаний.
Мои объекты состоят из двух важных свойств: частота и тип.
Вот базовые классы:

Код: Выделить всё

public abstract class ReminderDao
{
public int Id { get; set; }

public abstract ReminderFrequency Frequency { get; }
public abstract ReminderType Type { get; }

public string Title { get; set; }
public string Description { get; set; }
}

Код: Выделить всё

public abstract class OneTimeReminderDao : ReminderDao
{
public override ReminderFrequency Frequency => ReminderFrequency.OneTime;

// OneTime
public DateTimeOffset Date { get; set; }
}

Код: Выделить всё

public abstract class RecurringReminderDao : ReminderDao
{
public override ReminderFrequency Frequency => ReminderFrequency.Recurring;

// Recurring
public DateTimeOffset StartDate { get; set; }
public TimeSpan Interval { get; set; }
}
Вот реализации:

Код: Выделить всё

public sealed class AppointmentOneTimeReminderDao : OneTimeReminderDao
{
public override ReminderType Type => ReminderType.Appointment;
}

Код: Выделить всё

public sealed class AppointmentRecurringReminderDao : RecurringReminderDao
{
public override ReminderType Type => ReminderType.Appointment;
}
Я застрял, потому что не знаю, как сделать хорошее наследование TPH, чтобы получить напоминания в одной и той же таблице одноразовые и повторяющиеся напоминания с типизированными напоминаниями .
Прислушаюсь к любому совету! Спасибо большое!

Подробнее здесь: https://stackoverflow.com/questions/783 ... properties
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»