Отобразить производный класс как независимый с помощью FNH Automap - PullRequest
1 голос
/ 23 апреля 2010

По сути, у меня есть класс ImageMetadata и класс Image, который происходит от ImageMetadata.Image добавляет одно свойство: byte[] Content, которое на самом деле содержит двоичные данные.

Я хочу сопоставить эти два класса с таблицей one , но мне это совершенно не нужноПоддержка наследования в NHibernates. Я хочу настроить FNH Automap для получения чего-то вроде:

<class name="ImageMetadata" ...>    
    <property name="Name" ... />
    < ... />

<class name="Image" ...>    
    <property name="Name" ... />
    <property name="Content" ... />
    < ... />        

Возможно ли это вообще?

В настоящее время у меня есть:

Override<ImageMetadata>(m => m.Table("Image"))

но это все равно добавляет элемент <joined-subclass> к отображению ImageMetatada.

1 Ответ

1 голос
/ 23 апреля 2010

Я не совсем уверен, но я думаю, что вам нужно будет изменить стратегию подклассов . По умолчанию используется таблица для каждого подкласса, тогда как я думаю, что вам нужно таблица для иерархии.

Я думаю так:

    AutoMap.AssemblyOf<Entity>()
       .Setup(s =>
       {
         s.SubclassStrategy = t => SubclassStrategy.Subclass;
       });

Конечно, вам придется включить дескриптор, который может быть не тем, что вы хотите. Возможно, кто-то с большим опытом FNH может дать гораздо лучший ответ.

Также см. в этом посте , в котором рассматривается аналогичная проблема.

...