Работа над проектом, в котором у меня есть более или менее карт-бланш, чтобы изменить схему базы данных и объектную модель (хорошая позиция для входа. (C :) Предположим, что у меня есть тривиальное дерево наследования :ID на родительском и дочернем классах в NHibernate
class Parent
{
public int ID { get; set; }
}
class Child : Parent
{
// some fields
}
ли лучше иметь схему базы данных, где ребенок ID и идентификатор родительского являются одинаковыми (например, родительский первичный ключ IDENTITY (1,1), ребенок первичный ключ назначается и является NOT NULL для родительской таблицы), или должна ли дочерняя таблица поддерживать собственный первичный ключ и сохранять ссылку на родительскую таблицу в другом поле? Каковы соображения, которые должны быть сделаны в этом случае? Каковы профи и аргументы каждого из них подход? NHibernate поддерживает оба, правильно?