Query blogs

The examples below show you how to query all of the available blogs or how to query only a specific blog by its ID.

Query a single blog

To query a specific blog by its ID, you must perform the following:

  1. Get the blog*.*
    First, get an instance of the blog that corresponds to the specified ID.
  2. Return the blog*.*

The following code queries a blog by its ID:

Native API

C#
using System;
using System.Linq;
using Telerik.Sitefinity.Blogs.Model;
using Telerik.Sitefinity.Modules.Blogs;

namespace SitefinityWebApp
{
   public class QuerySingleBlog
   {
       private Blog GetBlogNativeAPI(Guid blogId)
       {
           BlogsManager blogsManager = BlogsManager.GetManager();
           Blog blog = blogsManager.GetBlogs().Where(b => b.Id == blogId).FirstOrDefault();

           return blog;
       }
   }
}

First, you get an instance of the BlogsManager class. To get the specified blog, you query all items and filter the collection by the ID property of the blog. If the specified item does not exist, the query will return null. Finally, you return the blog.

You can also use the following code to retrieve the blog:

C#
using System;
using Telerik.Sitefinity.Blogs.Model;
using Telerik.Sitefinity.Modules.Blogs;

namespace SitefinityWebApp
{
   public class QuerySingleBlog2
   {
       private Blog GetBlogNativeAPI(Guid blogId)
       {
           BlogsManager blogsManager = BlogsManager.GetManager();
           Blog blog = blogsManager.GetBlog(blogId);

           return blog;
       }
   }
}

NOTE: When the blog does not exist, an exception of type ItemNotFoundException is thrown.

Fluent API

C#
using System;
using Telerik.Sitefinity;
using Telerik.Sitefinity.Blogs.Model;

namespace SitefinityWebApp
{
   public class QuerySingleBolgFluentAPI
   {
       private Blog GetBlogFluentAPI(Guid blogId)
       {
           return App.WorkWith().Blog(blogId).Get();
       }
   }
}

First, you get the singular facade of the blog with the specified ID. To get an instance of the blog, you call the Get method of the facade. Note that when the blog does not exist, an exception of type ItemNotFoundException is thrown.

You can also use the following code to retrieve the blog:

C#
using System;
using System.Linq;
using Telerik.Sitefinity;
using Telerik.Sitefinity.Blogs.Model;

namespace SitefinityWebApp
{
   public class QuerySingleBolgFluentAPI2
   {
       private Blog GetBlogFluentAPI(Guid blogId)
       {
           Blog blog = App.WorkWith().Blogs().Where(b => b.Id == blogId).Get().SingleOrDefault();
           
           return blog;
       }
   }
}

Query all blogs

When querying all blogs, you must perform the following:

  1. Query all items*.*
    First, get a query of all available blogs.
  2. Return the blogs.
    Return a list of blogs.

The following code queries all blogs:

Native API

C#
using System.Collections.Generic;
using System.Linq;
using Telerik.Sitefinity.Blogs.Model;
using Telerik.Sitefinity.Modules.Blogs;

namespace SitefinityWebApp
{
   public class QueryAllBlogsNativeAPI
   {
       private List<Blog> GetAllBlogsNativeAPI()
       {
           BlogsManager blogsManager = BlogsManager.GetManager();

           return blogsManager.GetBlogs().ToList();
       }
   }
}

First, you get an instance of the BlogsManager class. You query all available blogs. Finally, you return the blogs as a list. If no blogs exist, the list will be empty.

Fluent API

C#
using System.Collections.Generic;
using System.Linq;
using Telerik.Sitefinity;
using Telerik.Sitefinity.Blogs.Model;

namespace SitefinityWebApp
{
   public class QueryAllBlogsFluentAPI
   {
       private List<Blog> GetAllBlogsFluentAPI()
       {
           return App.WorkWith().Blogs().Get().ToList();
       }
   }
}

First, you get an instance of the plural blogs facade. Then you get all available blogs. Finally, you return the blogs as a list. If no blogs exist, the list will be empty.

Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.