A volte può capitare di usare delle query CAML su Sharepoint, con del codice più o meno di questo tipo:
query.Query = @"<Where><Contains><FieldRef Name='Descrizione'/>
<Value Type='Text'>1 2 3 prova</Value></Contains></Where>";
SPListItemCollection itemsScadenze = scadenze.GetItems(query);
e di ottenere (giustamente?) una eccezione che fa così:
No such field name No field was found with that name. Check the name, and try again.
Il nome del campo a cui si riferisce è Descrizione, che al momento della creazione della lista si chiamava Title (nome di default dato al primo campo della lista creato automaticamente da Sharepoint).
Risultato: nelle query CAML si deve considerare sempre il nome interno dei campi e, nel mio caso, avrei dovuto usare il vecchio Title anzichè Descrizione.
Ma come faccio a sapere se un campo è stato rinominato per poter fare la query correttamente?
C'è un ottimo tool gratuito che permette ispezionare i meandri di Sharepoint: Sharepoint Explorer, scaricabile da http://www.ontolica.com/