This code should work:
var q = (from p in db.ASX_Ds
where p.ASX_D_name == company
select p;
return q.ToList();
The intermediate anonymous type is not required, in fact it can't be cast to the return type in the generic, so the type aliasing you want is a non-starter in a strongly OO language like C#.
If you want to restrict the fields you should declare a
DataContract[
^]with the fields you want and convert, you can write convertor method and an call
q.ToList().ConvertAll<datacontracttype>(ConversionFunction);
See
List<T>.ConvertAll<TOutput> Method [
^]
Such conversion is worthwhile even if you want to send all the data as it de-couples your interface from your object model and database implementation and allows versioning of the service.