Forum module
How do you convert this method to LINQ?
public override List<PostDetails> GetThreads(int forumID, string sortExpression, int pageIndex, int pageSize)
{
using (SqlConnection cn = new SqlConnection(this.ConnectionString))
{
sortExpression = EnsureValidSortExpression(sortExpression);
int lowerBound = pageIndex * pageSize + 1;
int upperBound = (pageIndex + 1) * pageSize;
string sql = string.Format(@"SELECT * FROM
(
SELECT tbh_Posts.PostID, tbh_Posts.AddedDate, tbh_Posts.AddedBy, tbh_Posts.AddedByIP,
tbh_Posts.ForumID, tbh_Posts.ParentPostID, tbh_Posts.Title, tbh_Posts.Approved,
tbh_Posts.Closed, tbh_Posts.ViewCount, tbh_Posts.ReplyCount, tbh_Posts.LastPostDate,
tbh_Posts.LastPostBy, tbh_Forums.Title AS ForumTitle,
ROW_NUMBER() OVER (ORDER BY {0}) AS RowNum
FROM tbh_Posts INNER JOIN
tbh_Forums ON tbh_Posts.ForumID = tbh_Forums.ForumID
WHERE tbh_Posts.ForumID = {1} AND ParentPostID = 0 AND Approved = 1
) ForumThreads
WHERE ForumThreads.RowNum BETWEEN {2} AND {3}
ORDER BY RowNum ASC", sortExpression, forumID, lowerBound, upperBound);
SqlCommand cmd = new SqlCommand(sql, cn);
cn.Open();
return GetPostCollectionFromReader(ExecuteReader(cmd), false);
}
}
|