|
IQueryable и Join
|
|||
---|---|---|---|
#18+
Добрый вечер! Подскажите, пожалуйста, есть 2 таблицы предположим "Группа" и "Студенты", какой тип указывать у IQueryable при Join запросе? Пример: Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2011, 19:07 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
Сделайте свой прокси-класс и вмапливайте в него свой результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2011, 20:23 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
или используйте Tuple Class чтоб не создавать промежуточные классы ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2011, 19:15 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
stimpi Tuple Class Чтобы Вы сделали с разработчиком, который поставил бы такой резалт метода Код: plaintext 1. 2. 3.
или такой Код: plaintext 1. 2. 3.
? Да, я бы тоже оторвал ему руки. ...Тупле - зло. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2011, 21:17 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
MIIДобрый вечер! Подскажите, пожалуйста, есть 2 таблицы предположим "Группа" и "Студенты", какой тип указывать у IQueryable при Join запросе? Пример: Код: plaintext 1. 2. 3. 4. 5.
Создать класс Student и его возвращать. А вообще правильный ход - не возвращать IQueryable, а создать метод Код: plaintext 1. 2. 3.
а то в вашем варианте вы сначала всю таблицу на клиента вытаскиваете, а потом ее у же на клиенте фильтруете - адинэсовский подход какой-то ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2011, 23:48 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
Верблюд, че-то Вы не то говорите... ) Особенно про вытаскивание всей коллекции и наезды на иквериэйбл... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2011, 00:21 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
МСУВерблюд, че-то Вы не то говорите... ) Особенно про вытаскивание всей коллекции и наезды на иквериэйбл... Что не то говорю? IQueryable в DAL лучше не выставлять - разработчики могут такого с его помощью накосячить, что база ляжет на ровном месте... лучше всего наружу отдавать конкретные запросы, соответствующие конкретному варианту использования и предоставив пользователям только возможность фильтровать результат с помощью Expressions. Например, можно заранее обезопаситься от "пустых" запросов, которые забирают всю базу целиком, ограничив его до разумных пределов с помощью Take(count): Код: plaintext 1. 2. 3.
в результате чего, в случае запуска запроса с "пустым" фильтром, на клиента получим не более ста записей за раз, а не всю базу целиком :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2011, 02:09 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
ВерблюдЧто не то говорю? Вот это: Верблюдв вашем варианте вы сначала всю таблицу на клиента вытаскиваете не то говорите. Он еще пока не вытаскивает ничего, а просто делает отложенный запрос. ВерблюдIQueryable в DAL лучше не выставлять Ну смотря для каких задач. В целом, согласен. Верблюд...а не всю базу целиком :) ... таблицу ) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2011, 10:35 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
МСУЧтобы Вы сделали с разработчиком, который поставил бы такой резалт метода ..... Смотря где его использовать ), в бизнес логике я бы не использовал, а вот для отображения, как раз самое оно для 3ех полей ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2011, 11:03 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
stimpiдля 3ех полей А если будет 4 поля, то уже плохо? Давайте определим критерий "максимальности" полей :) P.S. В бизнес-объектах атрибуты имеют плохую привычку расти количественно в зависимости от задач. Выводы делайте сами. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2011, 14:23 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
МСУ, читаем внимательное что было написано про бизнес-объекты и "прокладку" для вьюх будет расти, будет рефакториться, это нормальный процесс ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2011, 15:48 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
stimpiбудет расти, будет рефакториться, это нормальный процесс Если есть возможность заложиться на будущее, почему бы этого не сделать? Самому же проще и надежнее работать с конкретным бизнес-классом, а не с педалями от самоката. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2011, 16:10 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
МСУОн еще пока не вытаскивает ничего, а просто делает отложенный запрос. Ну да, он ничего не вытаскивает и что? Это не гарантирует, что где-то в коде, которому ты скормишь свой IQueryable, у тебя нет кода, который вытащит на клиента всю таблицу ради пары записей. Если ты конечно программу не в одиночку пишешь А потом будете неделю искать причину тормозов... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2011, 17:54 |
|
IQueryable и Join
|
|||
---|---|---|---|
#18+
ВерблюдМСУОн еще пока не вытаскивает ничего, а просто делает отложенный запрос. Ну да, он ничего не вытаскивает и что? Что значит "и что"? Это ответ на Ваш же вопрос: ВерблюдЧто не то говорю? ВерблюдЭто не гарантирует, что где-то в коде, которому ты скормишь свой IQueryable, у тебя нет кода, который вытащит на клиента всю таблицу ради пары записей. Ну знаете ли. Адекватный программист уже завидев в методе тип резалта IQueryable<T>, - должен немного задуматься и напрячь булки. Так что тут не согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2011, 11:43 |
|
|
start [/forum/topic.php?fid=17&fpage=41&tid=1350620]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 322ms |
total: | 447ms |
0 / 0 |