Isn't it possible to create a DetachedCriteria that joins table multiple
times? I have tried doing this (What's the difference between
CreateCriteria and CreateAlias anyway?):
var alias = "p" + i++;
criteria.CreateCriteria("Property", alias)
.Add(Expression.Eq(alias, p.Value));
}
where alias is changeable and p is based on an enumeration.
However, I get this:
System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at
System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean
add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at NHibernate.Util.LinkedHashMap`2.Add(TKey key, TValue value)
at
NHibernate.Loader.Criteria.CriteriaQueryTranslator.CreateAssociationPathCriteriaMap()
What I want to do is to select items based on if it has 1 or many
subitems in a collection. With a regular SQL statement I would just join
in subitems for each subitem I want it to have, like this:
select * from items
INNER JOIN subitems s1 ON s1.item_id = items.item_id AND s1.type = 'foo'
INNER JOIN subitems s2 ON s2.item_id = items.item_id AND s2.type = 'bar'
INNER JOIN subitems s3 ON s3.item_id = items.item_id AND s3.type = 'foobar'
How would I replicate this behaviour using NHibernate/ActiveRecord? Or
is HQL the way to go?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Castle Project Users" 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/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---