Seems this is still a problem. I too have the same issue now. Do you have
any workaround for this bug?
On Tuesday, February 22, 2011 12:08:34 PM UTC-6, Cheetah wrote:
>
> I have a domain model that contains some structures that in simplified
> form looks roughly like this:
>
> class Entity {
> int Id { get; set; }
> IDictionary<ControlledVocabulary,string> Metadata { get; set; }
> // ...
> }
>
> class ControlledVocabulary {
> int Id { get; set; }
> string Name { get; set; }
> //...
> }
>
> The Entity.Metadata property is mapped as a map using index-many-to-
> many. Under the hood, there are three tables here, one for Entity,
> one for ControlledVocabulary, and one for the Metadata collection.
>
> I can do HQL queries like this: "from Entity e join e.Metadata m where
> index(m) = :cv" to get all entities that have a value stored for a
> particular ControlledVocabulary item.
>
> However, what I need to do now is a left join constrained by the
> metadata, which I would think would be expressed thus: "from Entity e
> left join e.Metadata m with index(m) = :cv". However, when I do that,
> I get:
>
> NHibernate.Hql.Ast.ANTLR.InvalidWithClauseException: with-clause
> expressions did not reference from-clause element to which the with-
> clause was associated
>
> Is there a way to work around this, or a better way to model this kind
> of controlled vocabulary structure in the domain? The IDictionary/map
> model fits the business model exactly: each Entity is allowed to have
> zero or one values for each ControlledVocabulary item.
>
> Is this just plain a bug in the with clause handling?
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/groups/opt_out.