Do you use LINQ instead of CAML?
Updated by Brady Stroud [SSW] 1 year ago. See history
123
In SharePoint development, it is always a good practice to use LINQ, instead of CAML. Why CAML is bad?
- New language skills required for .NET developers
- No IntelliSense or strongly typed objects
Why LINQ is good?
- No new language skills required
- Easier to read and write
- SPMetal is awesome for generating entity classes
- In the backend, LINQ provider translates as much as it can to CAML first
SPQueryquery = newSPQuery();query.Query= String.Format(“<Where><And><Contains><FieldRefName=‘Tags’ /><ValueType=‘Text’>{0}</Value></Contains><IsNotNull><FieldRefName=‘URL’ /></IsNotNull></And></Where><OrderBy><FieldRefName=‘PostedOn’ Ascending=‘TRUE’ /></OrderBy>”, _filter);SPListItemCollectionlistItemsColl= resourceList.GetItems(query);
❌ Figure: Figure: Bad example – using CAML
Var resourceListItems =From SPListItem item in resourceList.ItemsWhere item.Tags.ToString().ToLower().Contains(_filter)&& item.URL.ToString().Length> 0OrderBy item.PostedOn Ascending
✅ Figure: Figure: Good example – using LINQ