Я не уверен, как правильно назвать мой сценарий как видимый, но вот ситуация:
Я получил несколько таблиц, в которых находятся данные, и прикладной уровень, который вставляет, удаляет и обновляет данные.
Требование заключается в том, что я могу полностью регистрировать все изменения. Для этого я создал огромный класс Log
, который содержит все классы, требующие регистрации.
Дело в том, что записи журнала никогда не могут быть удалены, поэтому при необходимости я могу воссоздать все, что было удалено (требуется идентифицировать все записи журнала для данного удаленного типа).
Пример кода:
public class Tag
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Log
{
[Key]
public int Id { get; set; } }
[ForeignKey(nameof(TagFK))]
public Tag Tag { get; set; } }
public int? TagFK { get; set; } }
}
TL; DR:
- Журнальный стол с ФК
- Записи журнала должны всегда существовать, в то время как связанная с ними запись может быть удалена.