Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обобщения
|
|||
|---|---|---|---|
|
#18+
Хотел бы написать один обобщенный метод так как надоело каждый раз писать пример кода Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. А хочется написать что то вроде Код: c# 1. 2. 3. 4. 5. и просто в эту функцию передавать обьекты а не писать каждый раз новую функцию. Но вот как написать функционал чтения я никак не могу понять, если это возможно и правильно. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 15:49 |
|
||
|
Обобщения
|
|||
|---|---|---|---|
|
#18+
Паганель, Проект писали еще до меня так что не спасет меня ORM переписывать многовато нужно. Да и обобщения неплохо было бы знать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 16:08 |
|
||
|
Обобщения
|
|||
|---|---|---|---|
|
#18+
Если писали методом копипасты (похоже на то), то такой код хорошо распарсивается и переписывается автоматизированно, а вручную за скриптом лишь ошибки правятся. Впрочем, этот метод рефакторинга лишь для маньяков ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 16:39 |
|
||
|
Обобщения
|
|||
|---|---|---|---|
|
#18+
VIT2708, одними дженерики здесь не обойтись т.к. в любом случае нужен код для чтения данных из SqlDataReader и записи в экземпляр объекта. Может помочь использование automapper (или аналогичной библиотеки) - Mapping From IDataReader/IDataRecord with AutoMapper Присоединяюсь к совету Паганеля насчет ORM. Совсем необязательно переписывать всё приложение сразу. Можно мигрировать постепенно. Главное в итоге завершить миграцию, чтобы не было мешанины способов доступа к БД. VIT2708 Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Несколько предложений по вышеприведенному коду: 1) Условие if (k != null) всегда истинно, убери его. 2) Добавь using вокруг SqlDataReader 3) Не советую читать данные из data reader-ов через код вида _dr.GetString(1). Выигрыш в скорости будет незначительным. Риск же сломать код путем безобидной перестановки колонок в запросе является более реальным. Также это ухуждает читабельность. Если не хочется постонно писать код вида _dr.GetInt64(_dr.GetOrdinal("IntColumn")), то никто не мешает написать extension метод для IDataReader который позволит работать с именем колонки - _dr.GetInt64("IntColumn"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 17:06 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38349105&tid=1358232]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 341ms |

| 0 / 0 |
