Hey, Donc, je suis peut-être complètement hors la marque ici, mais je suis toujours nouveau à nhibernate si nue avec moi.nhibernate lier dynamiquement une classe
J'ai lu cet article
Et je cherche un moyen de changer dynamiquement ma cartographie à l'exécution de se lier à une autre table en utilisant une à plusieurs dépendant d'une valeur mon objet parent.
Voici mes applications
<bag name="Data" mutable="true" >
<key>
<column name="Log_Link" />
<column name="channel" />
</key>
<one-to-many class="Fluent.Entities.Meters.FTIMeterChannelData, Poco" entity-name="30" />
</bag>
et
<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="Fluent.Entities.Meters.FTIMeterChannelData, Poco" table="loggerData" entity-name="30">
<composite-id mapped="false" unsaved-value="undefined">
<key-property name="Channel" type="System.Int32">
<column name="channel" />
</key-property>
<key-property name="LogLink" type="System.Int32">
<column name="Log_Link" />
</key-property>
</composite-id>
<property name="Date" type="System.DateTime">
<column name="hhdate" />
</property>
</class>
<class xmlns="urn:nhibernate-mapping-2.2" mutable="true" name="Fluent.Entities.Meters.FTIMeterChannelData, Poco" table="loggerData10" entity-name="15">
<composite-id mapped="false" unsaved-value="undefined">
<key-property name="Channel" type="System.Int32">
<column name="channel" />
</key-property>
<key-property name="LogLink" type="System.Int32">
<column name="Log_Link" />
</key-property>
</composite-id>
<property name="ReadingType" type="System.Char">
<column name="readingtype" />
</property>
</class>
</hibernate-mapping>
maintenant comme le dit l'article, je devrais être en mesure de changer le nom de l'entité en utilisant un intercepteur
class LoggerDataInterceptor : EmptyInterceptor
{
public override string GetEntityName(object entity)
{
return Convert.ToString("20");
}
}
Maintenant la question est deux fois. Premièrement, je n'arrive pas à tirer sur cet intercepteur, même si je l'ai déclaré lors de l'ouverture de ma session, et deuxièmement, est-ce que je suis complètement abasourdi et est-ce que ça ne marchera jamais?
Est-ce que cela a déjà fonctionné? – codeulike
Je ne crains pas. Il semble qu'il ne répond pas aux conceptions de base de données __awkward__ –