Fabio, thanks, that covers the basics. But one further clarification. You're saying that there is no way to do a Type predicate check or projection on TaggedItem.Item using either Hql or ICriteria ? For example, to get all types tagged with a term if i dont know the type beforehand.
On Jan 10, 1:49 pm, "Fabio Maulo" <[email protected]> wrote: > You can do it only using an "implicit join" between TaggedItem and one of > the <any> implementationselect a from TaggedItem ti, Article a where > ti.Item.id = a.Id > > Note the "ti.Item.id": the "id" property is a special "injected" property by > NH. Using "id" in lowercase NH use the POID of the related entity. > > 2009/1/10 ccollie <[email protected]> > > > > > > > Im writing a generic taxonomy/tagging module where any entity in the > > system can be tagged. The tagging table looks like > > > id int > > UserId int > > TaggedAt Date > > Term varchar > > ContentType varchar > > ContentId int > > > To make this implementation easier (since i dont impose a base class > > on the tagged entities), i want to use the Any type mapping: > > > <class name='SocialDance.Core.Domain.TaggedItem, > > SocialDance.Core.Domain' table='`TaggedItem`'> > > <id name='Id'> > > <generator class='identity'/> > > </id> > > > <many-to-one name="TaggedBy" class="SocialDance.Core.Domain.User, > > SocialDance.Core.Domain" column="userId" not-null="false" /> > > > <property name="Term" column="Term" type="String" length="50" /> > > <property name="TaggedAt" column="TaggedAt"/> > > > <any name='Item' meta-type='System.String' id- > > type='System.Int32'> > > <meta-value class='SocialDance.Core.Domain.Article, > > SocialDance.Core.Domain' value='ARTICLE'/> > > <meta-value class='SocialDance.Core.Domain.Photo, > > SocialDance.Core.Domain' value='PHOTO'/> > > <meta-value class='SocialDance.Core.Domain.BlogPost, > > SocialDance.Core.Domain' value='POST'/> > > <column name='ContentType'/> > > <column name='ContentId'/> > > </any> > > > </class> > > > My question is how do i query on the Any association ? I looked at > > NHibernate's tests for the any mapping and they offer no clues. In > > particular, i need to query for the tags on a particular item (seems > > ok), and particular types (e.g. all photo tags for tag cloud calcs). I > > assume that i cant query on any properties of TaggedItem.Item beyond > > its type and id. > > > Thanks > > -- > Fabio Maulo --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
