2009-08-03 3 views
0

Работа над проектом, в котором у меня есть более или менее карт-бланш, чтобы изменить схему базы данных и объектную модель (хорошая позиция для входа. (C :) Предположим, что у меня есть тривиальное дерево наследования :ID на родительском и дочернем классах в NHibernate

class Parent 
{ 
    public int ID { get; set; } 
} 

class Child : Parent 
{ 
    // some fields 
} 

ли лучше иметь схему базы данных, где ребенок ID и идентификатор родительского являются одинаковыми (например, родительский первичный ключ IDENTITY (1,1), ребенок первичный ключ назначается и является NOT NULL для родительской таблицы), или должна ли дочерняя таблица поддерживать собственный первичный ключ и сохранять ссылку на родительскую таблицу в другом поле? Каковы соображения, которые должны быть сделаны в этом случае? Каковы профи и аргументы каждого из них подход? NHibernate поддерживает оба, правильно?

ответ

1

Я бы позволил ребенку иметь свой собственный идентификатор. Это была бы бесполезная информация, но этот ущерб намного перевешивается тем фактом, что это было бы легко узнаваемое отношение 1 к 1, а не «Как это работает?» отношения.

И да, nHibernate может обрабатывать отношения один к одному.

Смежные вопросы