Query lists
Sitefinity CMS allows you to query for a specific list by its ID. To search for specific lists based on any other property or criteria, see For developers: Find lists.
To query for a specific list you can use the Native API or the Fluent API.
Query a single list
The following examples query a list by its ID:
Native API
using System;
using System.Linq;
using Telerik.Sitefinity.Modules.Lists;
using Telerik.Sitefinity.Lists.Model;
namespace SitefinityWebApp
{
public class QueryLists_GetListNativeAPI
{
public List GetListNativeAPI(Guid listId)
{
ListsManager listManager = ListsManager.GetManager();
List list = listManager.GetLists().Where(l => l.Id == listId).FirstOrDefault();
return list;
}
}
}
First, you get an instance of the ListsManager class. You get the specified list by querying all items and filtering the collection by the ID of the list. Finally, you return the list.
To find the list, you can also use the GetList method passing listId:
using System;
using Telerik.Sitefinity.Lists.Model;
using Telerik.Sitefinity.Modules.Lists;
namespace SitefinityWebApp
{
public class QueryLists_GetListNativeAPI2
{
public List GetListNativeAPI(Guid listId)
{
ListsManager listManager = ListsManager.GetManager();
List list = listManager.GetList(listId);
return list;
}
}
}
NOTE: Calling
GetList(listId)throws an exception of typeItemNotFoundException, if there is no list with the specifiedId.
Fluent API
using System;
using System.Linq;
using Telerik.Sitefinity;
using Telerik.Sitefinity.Lists.Model;
namespace SitefinityWebApp
{
public class QueryLists_GetListFluentAPI
{
public List GetListFluentAPI(Guid listId)
{
List list = App.WorkWith().Lists().Where(l => l.Id == listId).Get().FirstOrDefault();
return list;
}
}
}
To query for the list, first, you initialize the plural facade of the list using App.WorkWith().Lists(). Then, you filter the lists based on the Id property. Finally, you use the Get method to get the list. If the list does not exist, the method returns null.
To find the list, you can also use the singular facade of the list:
using System;
using Telerik.Sitefinity;
using Telerik.Sitefinity.Lists.Model;
namespace SitefinityWebApp
{
public class QueryLists_GetListFluentAPI2
{
public List GetListFluentAPI(Guid listId)
{
List list = App.WorkWith().List(listId).Get();
return list;
}
}
}
NOTE: Calling
List(listId)throws an exception of typeItemNotFoundException, if there is no list with the specified Id.