В настоящее время результат представляет собой коллекцию анонимного типа, вы хотите, чтобы он возвращал вам категорию.
NorthwindDataContext db = new NorthwindDataContext();
List<Category> oList = new List<Category>();
var result = from p in db.Categories
select new Category { CategoryID = p.CategoryID, CategoryName=p.CategoryName };
Затем вы можете добавить свои категории в oList -
oList.AddRange(result.ToList());
EDIT:
Хорошо, учитывая, что вы хотите получить только несколько полей из базы данных, создайте новый тип только с этими полями (если вам не нужно использовать его вне вашего метода, вам не придется это делать, просто оставьте это как анонимный тип) -
class CategorySml
{
public int CategoryID {get; set;}
public string CategoryName {get; set;}
}
...
NorthwindDataContext db = new NorthwindDataContext();
List<CategorySml> oList = new List<Category>();
var result = from p in db.Categories
select new CategorySml { CategoryID = p.CategoryID, CategoryName=p.CategoryName };