在LINQ查询中只选择几列

我有以下查询

var xyz = from a in prod.Categories where a.CatName.EndsWith("A") select a; 

但是,在这种情况下返回所有列。 我如何重写查询,以便只返回几个列,如a.CatName,a.CatID,a.CatQty等。

 var xyz = from a in prod.Categories where a.CatName.EndsWith("A") select new { CatName=a.CatName, CatID=a.CatID, CatQty = a.CatQty}; 
  var xyz = from a in prod.Categories where a.CatName.EndsWith("A") select new { a.CatID,a.CatQty } ;