2009-02-13 4 views
0

Juste une petite question. Si j'ai 2 tables qui sont jointes dans une 3ème table avec une relation many-to-many, est-il possible d'écrire un ICriteria avec des expressions dans l'une des tables et la table de jointure?NHibernate ICriteria avec un sac

permet de dire que le fichier de mapping ressemble à quelque chose comme:

<bag name ="Bag" table="JoinTable" cascade ="none"> 
     <key column="Data_ID"/> 
     <many-to-many class="Data2" column="Data2_ID"/> 
    </bag> 

Est-il alors possible d'écrire un ICriteria comme ce qui suit? Quand j'essaye ceci, il me dit que le type attendu est IList, alors que le type actuel est Bag.

Merci.

Répondre

1

Vous devriez le faire comme ça (je pense)

ICriteria crit = session.CreateCriteria (typeof(Data)); 
crit.Add (Expression.Eq ("Name", name)); 
crit.Add (Expression.Between ("Date", startDate, endDate)); 
crit.CreateAlias ("Bag", "b"); 
crit.Add (Expression.Eq ("b.Id", data2IDNumber)); 
+0

Cela a fonctionné assez bien pour moi! – Gavin

Questions connexes