2011-11-04 1 views
0

Permet de considérer la mise en correspondance simplifiée suivante:Existe-t-il un moyen de spécifier "où" dynamiquement sur une carte?

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="xxx" namespace="yyy"> 
    <class name="Customer" table="Customers"> 
    <id name="Id" column="customerID" type="Int64"> 
     <generator class="native"/> 
    </id> 

    <!-- LOOK AT THE WHERE BELOW .--> 
    <map where="codeType='BO'" name="Conversions" table="CustomersCodes" > 
     <key column="customerID"></key> 
     <index column="codeType" type="AnsiString"/> 
     <element column="code" type="AnsiString"/> 
    </map> 

    </class> 
</hibernate-mapping> 

Je voudrais préciser dinamycally where (qui est collé dans la cartographie de l'échantillon) dans le code, est-il possible?

Comme alternative viable, est-il possible d'aller chercher une clé de la carte avec QueryOver ou LinqToNH? J'ai essayé avec le lien à NH mais il se plaint que la carte ne contienne pas une entité (vrai, puisque c'est une carte d'éléments, qui est parfaitement valide en NH et utile pour optimiser la vitesse dans beaucoup de cas)

Répondre

1

Peut-être NHibernate Filtres pourraient vous aider ici Contextual data using NHibernate filters

+0

+1 parce que cela fonctionne probablement, mais à la recherche de quelque chose que je peux utiliser sans intercepteurs ... –

Questions connexes