|
Dapper странно возвращает множественный набор
|
|||
---|---|---|---|
#18+
Привет. Подскажите в чем может быть дело. Код: Код: c# 1. 2. 3. 4. 5. 6. 7.
в итоге handler1 и handler2 имеют одинаковое значение - первого элемента (handler1). Хотя я смотрю в профайлере, из базы действительно возвращается два набора данных, как и положено. Я так понимаю, что res.Read почему-то берет только первый набор данных с int, а не по порядку. А я ожидал, что этот метод отработает по принципу энумератора: будет возвращать наборы последовательно. Получается я ошибаюсь. Подскажите как нужно правильно. Не нашел примера со схожей проблемой на странице Даппера https://github.com/StackExchange/dapper-dot-net. PS.QueryMultiple точно работает, т.к. если запрашивать разные виды сущностей, то все работает. Т.е. так все ок: Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 17:17 |
|
Dapper странно возвращает множественный набор
|
|||
---|---|---|---|
#18+
Сделайте одним запросом, union all ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 17:39 |
|
Dapper странно возвращает множественный набор
|
|||
---|---|---|---|
#18+
Winnipuh, ну можно, да :) но мне просто интересно все равно. Что я не так делаю. Может не раз еще пригодится. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 17:55 |
|
Dapper странно возвращает множественный набор
|
|||
---|---|---|---|
#18+
ProBiotekWinnipuh, ну можно, да :) но мне просто интересно все равно. Что я не так делаю. Может не раз еще пригодится. Видимо они читают один набор. Много наборов в общем случае могут иметь разные наборы полей и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 17:59 |
|
Dapper странно возвращает множественный набор
|
|||
---|---|---|---|
#18+
Winnipuh, Просто через unionall, я думаю, нельзя расчитывать на порядок строк. Т.е. ВСЕГДА ли Код: c# 1. 2. 3.
вернется именно в этом порядке ? Я бы не рисковал, и поэтому бы делать что-то типа такого: Код: c# 1. 2. 3.
и затем в программе извлекать данные ориентируясь на заданный ID. Все это мне кажется чуть сложнее, чем просто послать два набора и последовательно их считать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 18:37 |
|
Dapper странно возвращает множественный набор
|
|||
---|---|---|---|
#18+
ProBiotekПросто через unionall, я думаю, нельзя расчитывать на порядок строк. почитай как устроен SQL. Там написано что порядок есть только если он явно задан. т.е. order by Т.е. ни в одном SQL запросе не надо ожидать какого-то порядка, если явно его не указал. Кури Дейта и теорию РСУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 19:15 |
|
Dapper странно возвращает множественный набор
|
|||
---|---|---|---|
#18+
Dima T, вооот. и я о том же. Однако - мне кажется это заявление относится в большей степени к Табличным данным. А вот насчет данных, которые подготовлены искуственно с помощью union all я, все же, думаю порядок скорее всего будет тот, что задан. Однако я и не хочу рисковать. Об этом я и написал чуть выше. Что предпочел бы, все же, сделать два отдельных запроса - чем делать через union all. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 19:37 |
|
Dapper странно возвращает множественный набор
|
|||
---|---|---|---|
#18+
ProBiotekОднако - мне кажется это заявление относится в большей степени к Табличным данным. А вот насчет данных, которые подготовлены искуственно с помощью union all я, все же, думаю порядок скорее всего будет тот, что задан. Задан кем? Ты его не задал, поэтому не ожидай что он будет. "скорее всего будет" это ты как понимаешь? Скорее всего я уже уволюсь к тому времени когда сглючит? ProBiotekОднако я и не хочу рисковать. Об этом я и написал чуть выше. Что предпочел бы, все же, сделать два отдельных запроса - чем делать через union all. есть Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 20:14 |
|
Dapper странно возвращает множественный набор
|
|||
---|---|---|---|
#18+
ProBiotek, авторПросто через unionall, я думаю, нельзя расчитывать на порядок строк. Т.е. ВСЕГДА ли select name1 union all select name2 вернется именно в этом порядке ? Это известная тема. Выше коллега уже написал варианты. Здесь ключевай фраза "в этом порядке", при этом порядок не указан, а только в голове автора. Нужно указывать порядок. К тому примеру: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2015, 10:43 |
|
|
start [/forum/topic.php?fid=20&msg=39125176&tid=1400975]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 322ms |
total: | 441ms |
0 / 0 |