CrossListQueryInfo not able to return MultiLookup Fields

Some time ago I wrote a blogpost about how to use the CrossListQueryInfo and CrossListQueryCache to be able to find any item within a site within a very small amount of time. Hower, since today I know that this method cant be used when you are trying to retrieve items that contain a MultiLookupField in the ViewFields.

I came accross this limitation when I accidentally changed a LookupField into a MultiLookupField. Suddenly, my webpart that made use of the CLQI didn't return any items anymore, although I was sure that I didn't modify any code. For some reason I immediately had to think about the Database diagram that i created some time ago and I opened the database to check something.

Although all ListItems with its data are stored into the AllUserData table, there is some data that is stored somewhere else: the AllUserDataJunctions. This table stores the multilookup data. This might be the reason that the CLQI isn't able to display the multilookup results.

Anybody has any thoughts on this?

 

Published Fri, Aug 14 2009 3:49 PM by Bas

Comments

# re: CrossListQueryInfo not able to return MultiLookup Fields

Sunday, September 20, 2009 8:41 PM by Guido

You could try with sql tracing functions and see what database calls are invoked when executing either the LookupField or MultiLookupField. That could confirm suspicions about CLQI being "scoped" to the AllUserData table

# re: CrossListQueryInfo not able to return MultiLookup Fields

Monday, September 21, 2009 2:44 PM by Bas

Thanks,

Going to try that whenever I have more spare time ;)

Leave a Comment

(required) 
(required) 
(optional)
(required) 
Please add 3 and 4 and type the answer here: