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
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to