Ну, я столкнулся с той же проблемой некоторое время назад, а потом я придумал LINQ to SP =). Make и SP и поместите их в ваши сущности и используйте их. Вы можете написать Sp в соответствии с вашими потребностями, такими как извлечение записей и столбец общей записи. Это проще и быстрее по сравнению с тем, что вы используете прямо сейчас.
У меня была такая же проблема в прошлом году, а затем, когда дело дошло до производительности, вместо того, чтобы сделать два запроса, я перешел на LINQ to SP , создал хранимую процедуру и вызвал ее через такие сущности, как LINQ к хранимой процедуре =). И моя хранимая процедура сделала все и вернула только те записи, которые мне нужны, и я выполнила разбиение на страницы в конце хранимой процедуры, так что я получала ограниченные данные за раз, а не все данные в приложении.
Вы можете сделать и SP и вставить это в ваши сущности и использовать его. Вы можете написать Sp в соответствии с вашими потребностями, например, вытащить свои записи и общее количество записей в виде столбца. Рассмотрим 1000К записей из 100 таблиц. Медленная производительность ?? Вы можете сделать это с помощью Linq to SQL , сделав Sp на уровне базы данных и вызывая объекты. Это будет намного быстрее, чем тот, который вы пытаетесь достичь =)