Список - это ICollection. Вы можете изменить свой код query.ToList () следующим образом.
query.ToList() as ICollection<SoilSamplingSubJob>;
Ваш вопрос звучит так, как будто этот запрос возвращается как результат функции. Если это так, помните, что объекты Linq to SQL подключены по умолчанию, поэтому вам необходимо определить, где контекст вашей базы данных открывается и закрывается. В качестве альтернативы вы можете создать DTO (объекты передачи данных), которые содержат данные, которые вы хотите использовать в остальной части вашей программы. Эти объекты могут вписываться в вашу иерархию объектов любым способом.
Вы также можете создать эти DTO как часть запроса.
var query = from m in db.SoilSamplingSubJobs where m.order_id == id
select new SubJobDTO {
OrderNumber = m.order_id
};
return query.ToList() as ICollection<SubJobDTO>;