Если вы не сделаете глупостей, LINQ2SQL не вызовет проблем с производительностью. Использование LINQ2SQL сопряжено с небольшими издержками, но это довольно мало.
Самый эффективный способ - выбрать прямо в бизнес-объекты в выделенной части.
var myResult = from product in context.Products
where product.StockQty > 10
select new MyBusinessProduct
{
Name = product.Name,
Category = product.Category,
etc = product.etc, //...
}
Зачастую вы можете использовать ваши LINQ-объекты в качестве бизнес-объектов, вы можете декорировать их с помощью бизнес-методов в частичном классе, а также реализовать частичные методы в классах LINQ для реализации правил проверки.