Je sais qu'il y a BEAUCOUP de façons d'obtenir ce qui suit dans NHibernate - je ne suis pas intéressé par d'autres scénarios. Ce que je me demande, c'est s'il est possible de générer automatiquement une sous-requête en utilisant une relation many-to-one et une requête par exemple dans NHibernate.NHibernate - Requête par exemple - Sous-requête
Ma configuration est la suivante:
public class Customer
{
public virtual int ID { get; set; }
public virtual string Firstname { get; set; }
public virtual string Lastname { get; set; }
public virtual IList<Orders> CustomerOrders { get; set;}
}
Mon mapping ressemble à quelque chose comme ce qui suit:
<property name="FirstName" type="string" length="200" not-null="true"/>
<property name="Lastname " type="string" length="20" not-null="true"/>
<bag name="CustomerOrders" cascade="save-update" inverse="true">
<key column="CustomerID" on-delete="cascade" />
<one-to-many class="myassembly.CustomerOrders, myassembly" />
</bag>
Un simple QBE donnerait FirstName et/ou LASTNAME une valeur et renvoyez un client IList contenant ce prénom et/ou ce nom de famille.
Ce que je voudrais faire est d'ajouter des commandes à la liste CustomerOrders résultant dans une requête comme les suivants:
select * from CustomerOrders c where FirstName = 'myfirstname' and LastName = 'mylastName' inner join Orders o on c.CustomerID = o.OrderID
where o.OrderName = 'myorderName' and o.OrderNumber = 'myordernumber'
Dans l'exemple ci-dessus OrderName et orderNumber sont propriétés de la classe ordre (dans l'intérêt de brièveté je n'ai pas inclus cette classe). Est-ce que quelqu'un sait si c'est possible? S'il vous plaît laissez-moi savoir si je dois clarifier ma question. Essentiellement, je suis capable de peupler les valeurs primitives et de les inclure dans le QBE. Puis-je faire de même avec les collections?