Using a group join, it should look something like this...
var result = Categories
.GroupJoin(
Items.Where(i => i.SubCategoryId == 1),
c => c.CategoryId,
i => i.CategoryId,
(c, i) => new { c.CategoryId, c.CategoryName, i.Count() })