2009-03-27 2 views
0

Кто-нибудь, можно ли настроить Fluent NHibernate для автоматического отображения объектов с использованием наследования «Table with specific class». Если посмотреть на автосоединения (которые я написал в файл), у меня есть несколько объектов, которые происходят из EntityBase, но я бы хотел, чтобы столбец идентификатора был в каждой таблице, а не в таблице EntityBase.«Таблица с конкретным классом» с использованием автоматического сопоставления Fluent NHibernate

<class name="EntityBase" table="EntityBase" xmlns="urn:nhibernate-mapping-2.2"> 
    <id name="Id" type="Int32" column="EntityBaseID"> 
     <generator class="identity" /> 
    </id> 
    <joined-subclass name="CategoryType, ..., Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"> 
     <key column="EntityBaseId" /> 
     <property name="CategoryTypeGUID"> 
     <column name="CategoryTypeGUID" /> 
     </property> 
    </joined-subclass> 
</class> 

Я просмотрел документы Fluent, но не вижу ничего, что связано с этим.

Заранее спасибо.

ответ

0

Устанавливаете ли вы соглашение IsBaseType в вашем автопиле? Это конкретное соглашение определяет то, что считается просто базовым классом в вашем коде, а не чем-то, что можно рассматривать как часть иерархии наследования объектов.

AutoPersistenceModel 
    /* regular config */ 
    .WithSetup(s => 
    s.IsBaseType = (type => type == typeof(EntityBase))); 
+0

Спасибо за это Джеймс. Я задавался вопросом, что такое различие между этой конвенцией и «Где» метод, теперь я знаю! –

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