I have entities, where Entity is a standard base class
with .IgnoreBase<Entity>()

public class Order : Entity
{
 public virtual string Name { get; set; }
}

public class CollectiveOrder : Order
{
  public virtual string OrdersList { get; set; }
}

Their successfully discriminated with custom overriding

public override bool IsDiscriminated(Type type)
{
 return type.In(typeof (Order));
}

but when I try to override default discriminator type or set value, I
don't see any changes:

public class OrderMappingOverride : IAutoMappingOverride<Order>
{
 public void Override(AutoMapping<Order> mapping)
 {
    mapping.DiscriminateSubClassesOnColumn<int>("Discriminator", 0);
    mapping.SubClass<CollectiveOrder>(1);
 }
}

resulting mapping is

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-
access="property" auto-import="true" default-cascade="none" default-
lazy="true">
 <class xmlns="urn:nhibernate-mapping-2.2" mutable="true"
name="Dto.Entities.Order, Dto, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null" table="Orders">
    <id name="Id" type="System.Int32, mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <column name="Id" />
     <generator class="identity" />
    </id>
    <discriminator type="String">
     <column name="Discriminator" />
    </discriminator>
    <property name="Name" type="System.String, mscorlib,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <column name="Name" />
    </property>
    <subclass name="Dto.Entities.CollectiveOrder, Dto,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
     <property name="OrdersList" type="System.String, mscorlib,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
       <column name="OrdersList" />
     </property>
    </subclass>
 </class>
</hibernate-mapping>

Technical info Fluent NHibernate was taken from NuGet package:
Version:1.1.0.0
MsSql2008
NHibernate 3.0.0.4000
FW 4

-- 
You received this message because you are subscribed to the Google Groups 
"Fluent NHibernate" group.
To post to this group, send email to fluent-nhibernate@googlegroups.com.
To unsubscribe from this group, send email to 
fluent-nhibernate+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/fluent-nhibernate?hl=en.

Reply via email to