J'ai deux entités dites Customer et Order qui existent d'elles-mêmes et n'ont aucune relation définie dans un fichier de mappage.Nhibernate ICreteria relation entre les tables
Maintenant, je veux NHibernate me donner le résultat de la requête suivante:
select customer.id,customer.name from customer,order
where customer.id = order.id
and order.status = "Open"
J'ai essayé d'utiliser une projection, mais lors de l'examen de la sql de sortie que je vois Nhibernate génère une sous-requête qui n'est pas mon intention (et moins performant?)
public IList<Customer> GetOpenOrders()
{
DetachedCriteria orders = DetachedCriteria.For<Order>("orders")
.SetProjection(Projections.Property("orders.id"));
ICriteria cret = session.CreateCriteria(typeof(Customer))
.Add(Subqueries.PropertyIn("id", orders))
.Add(Expression.Eq("Status", "open"));
return cret.List<Customer>();
}
est-il possible de le faire avec critères ou est-il une meilleure façon d'y parvenir ce genre de questions?