je l'entité suivante:Dictionnaire ne persistera pas avec NHibernate 3.0
public class Alert
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual IDictionary<CxChannel, string> Messages { get; set; }
}
public enum CxChannel
{
Message,
Email
}
et cartographie suivante:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Entities.Alert, Entities" table="alert">
<id name="Id" type="int" unsaved-value="0" access="property">
<generator class="identity"/>
</id>
<property name="Name" column="name"/>
<map name="Messages" table="alert_message" cascade="all">
<key column="alert_id"/>
<index column="channel" type="Entities.CxChannel, Entities"/>
<element column="message" type="System.String"/>
</map>
</class>
</hibernate-mapping>
Le problème est que lorsque j'enregistre une entité d'alerte, le dictionnaire de messages n'est pas persisté à la base de données. En fait, mon code ressemble au code Oren utilisé dans son blog: http://ayende.com/Blog/archive/2009/06/03/nhibernate-mapping-ndash-ltmapgt.aspx
Quelqu'un at-il rencontré le même problème?
Est-ce que vous commettez la transaction? –
Oui Diego. En outre, la table d'alerte est remplie avec ses données. –