Re[8]: Проблемы организации OR-мапинга
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.06.09 04:46
Оценка:
Здравствуйте, IT, Вы писали:

Два вопроса...

1. Зачем нужен result.ToList()?
2. Что дальше делается с анонимным типом возвращаемым в коллекции?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Проблемы организации OR-мапинга
От: IT Россия linq2db.com
Дата: 04.06.09 13:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>1. Зачем нужен result.ToList()?


Если мне правильно подсказывает мой склероз, то дальше по ходу дела нужен Count, так что преобразовывать в список всё равно надо. Да это и не очень накладно для 20-40 записей.

VD>2. Что дальше делается с анонимным типом возвращаемым в коллекции?


Баиндится на грид.
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Проблемы организации OR-мапинга
От: IT Россия linq2db.com
Дата: 04.06.09 13:22
Оценка:
Здравствуйте, IT, Вы писали:

IT>В 95% работают следующие оптимизации:


IT>- allowed.Contains устраняется,

IT>- пейджинг превращается в TOP,
IT>- проверка AnswerCount не делается.

И ещё забыл — skip тоже уходит в ноль.
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: Проблемы организации OR-мапинга
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.06.09 14:33
Оценка:
Здравствуйте, IT, Вы писали:

VD>>1. Зачем нужен result.ToList()?


IT>Если мне правильно подсказывает мой склероз, то дальше по ходу дела нужен Count, так что преобразовывать в список всё равно надо. Да это и не очень накладно для 20-40 записей.


Как-то странно это делать в методе, а не там где надо.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Проблемы организации OR-мапинга
От: IT Россия linq2db.com
Дата: 04.06.09 14:42
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Как-то странно это делать в методе, а не там где надо.


Там using стоит вокруг RsdnDataContext, неизвестно чем закончится возврат енумератора из этого метода.
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: Проблемы организации OR-мапинга
От: EvilChild Ниоткуда  
Дата: 12.06.09 16:48
Оценка:
Здравствуйте, IT, Вы писали:

IT>Там using стоит вокруг RsdnDataContext, неизвестно чем закончится возврат енумератора из этого метода.

Под возвратом енумератора понимается возврат значения переменной results?
Если по нему foreach'ем пройтись с yield'ом, то всё должно быть путём — ничего раньше времени не задиспозится.
now playing: Oliver Huntemann — Radio
Re[13]: Проблемы организации OR-мапинга
От: IT Россия linq2db.com
Дата: 15.06.09 13:37
Оценка:
Здравствуйте, EvilChild, Вы писали:

IT>>Там using стоит вокруг RsdnDataContext, неизвестно чем закончится возврат енумератора из этого метода.

EC>Под возвратом енумератора понимается возврат значения переменной results?
EC>Если по нему foreach'ем пройтись с yield'ом, то всё должно быть путём — ничего раньше времени не задиспозится.

Может быть, не проверял. Но если return IEnumerable, который подвязан к контексту, который в свою очередь будет разрушен при выходе из метода, тем не менее будет работать, то выглядеть это будет как минимум странно.
Если нам не помогут, то мы тоже никого не пощадим.
Re[14]: Проблемы организации OR-мапинга
От: Sinclair Россия https://github.com/evilguest/
Дата: 23.06.09 06:56
Оценка:
Здравствуйте, IT, Вы писали:
IT>Может быть, не проверял. Но если return IEnumerable, который подвязан к контексту, который в свою очередь будет разрушен при выходе из метода, тем не менее будет работать, то выглядеть это будет как минимум странно.
Это кагбэ не должно работать. До первого обращения к итератору не выполняется вообще никакой его код. Даже тот, что мог бы попытаться предотвратить закрытие соединения в finally. Поэтому твой код совершенно корректен: декларативность и ленивость хороши до поры. Но потом настаёт время сказать "всё, вот тут мы должны закончить всюработу, и гарантировать возврат соединения в пул".
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.