Я использую TPH Table Per Hierarchy в Entity Framework, который в основном является частичным классом для общих основных атрибутов для расширенных типов данных.
У меня 2 объекта / класса; Course
Object и Student
Object, которые имеют те же базовые свойства, что и MyBaseCommonEntity
. Цель состоит в том, чтобы иметь возможность выполнить Service/ticket
на любом из объектов. Мне нужна помощь в моделировании этого, будет ли это общий тип или тип наследования?
Мои вопросы: я использую int для ссылки на parentID. Ключ pK таблицы также имеет тип int.
- Как предотвратить циклические ссылки
- Выполняется ли эта проверка при настройке
- Предоставляет ли тип Иерархии эту функциональность по умолчанию?
В чем разница между таблицей по типу, таблицей по иерархии и таблицей по классам?
public partial class MyBaseCommonEntity { public int Id { get; set; } //Does it have any parents, does it belong to anyone public int? ParentId { get; set; } public string Name { get; set; } public string Description { get; set; } public System.DateTime CreatedDate { get; set; } public System.DateTime StartDate { get; set; } public System.DateTime? EndDate { get; set; } // Audit Stuff, whom, when why? public System.DateTime? AuditDate { get; set; } public string AuditUser { get; set; } public string AuditComments { get; set; } }