Hi guys, I have a similar problem but I need to do it with HQL. Any idea how to do it, or if it is possible?
On Mar 8, 6:58 pm, Diego Mijelshon <[email protected]> wrote: > As you may have guessed, you can't use polymorphic queries for properties > that are only defined in one of the classes. > If you desperately needed to make this one query, you could hack some > complex criteria with subqueries, or just write a SQL query with UNION. > However, it's probably cleaner to do it with two queries and join them with > LINQ-to-objects. > Since the Criteria API is actually more useful for search (where the > parameters vary), and you seem to have a pretty static query here, I'd go > one step further and use also NHibernate.Linq (you could also use QueryOver > with NH 3.x) > So, your whole query would be: > > var listOfReservables = Session.Linq<FrameworkContract>().Where(fc => > fc.Quantity > 0 && fc.Status == "Confirmed") > .ToList().Cast<Reservable>() > .Concat( > Session.Linq<InventoryStock>().Where(fc => > fc.Quantity > 0) > .ToList().ToList().Cast<Reservable>()) > > Diego > > On Mon, Mar 8, 2010 at 13:13, Patrik Lowendahl > <[email protected]>wrote: > > > > > Hello, > > > I have a scenario where I fetch data from two different tables into a > > "Reservable". You can reserve from inventory stock or from framework > > contracts. This is mapped using Table per concrete class strategies. > > However, I found a challenge. There is slighty different rules in what's > > acceptable as a reservable. StockInventory it's sufficient with quantity > 0 > > but for framework contracts it need to be cofirmed as well. > > > I would like to do something like: > > > var listOfReservables = Session.CreateCriteria(typeof (Reservable)) > > .Add(Restrictions.Gt("Quantity", 0)) > > .Add(Restrictions.Eq("Status", "Confirmed")) > > .List<Reservable>(); > > > But this isn't possible in it's current form since StockInventory doesn't > > have a Status, just the Framework Contract. Is this possible? Or do I need > > to create two separate queries for each concrete class and joint them > > myself? > > > -- > > Patrik Löwendhl > > > -- > > You received this message because you are subscribed to the Google Groups > > "nhusers" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<nhusers%[email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/nhusers?hl=en.- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
