I'm pretty sure that the reason for this is because you are selecting an anonymous type. You would have to select the category itself or create another class that will hold the data.
Option 1:
NorthwindDataContext db = new NorthwindDataContext();
List<Category> result = (from cat in db.Categories
select cat).ToList();
Option 2:
public class NewCat
{
public int CategoryId,
public string CategoryName,
public string Description
}
NorthwindDataContext db = new NorthwindDataContext();
List<NewCat> result = (from cat in db.Categories
select new NewCat()
{
CategoryId = cat.CategoryID,
CategoryName = cat.CategoryName,
Description = cat.Description
}).ToList();