Здравствуйте, IT, Вы писали:
IT>В принципе, сделать всё как есть, так же как и сделать всё по человечески двумя запросами, на данный момент не представляет особого труда. Но в последнем случае будет потеряна ленивость. Т.е. придётся результат первого да и скорее всего второго запроса закачивать в память полностью и уже потом отдаваться энумераторам. Что опять же при приличном размере первого запроса выльется в приличный объём памяти.
IT>Собственно вопрос — как лучше поступить? Повторить реализацию MS или сделать более оптимальный для сервера БД, но затратный по памяти для клиента вариант?
вот про память и ленивость, а есть гарантия, что первый способ не жрет ту же самую память что и второй — в смысле, когда мы получаем очередную порцию "ленивых" данных с сервера, то на предыдущую уже ссылок нет, и GC ее собрал?
кстати, про ленивость и БД можно отстраненный вопрос: а на каждую порцию ленивых данных создается своё соединение (ДбМанагер) или пользуется одно?