Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
Проблема: Если в Модели есть поля, а в запросе я их не указал, то вываливается сообщение: Индекс находился вне границ массива Пример: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. При таком запросе вывалится ошибка А если укажу все поля из модели ошибки не будет. Ну так если в Модели 100 полей и я хочу сделать сложный запрос с JOIN-ами, то мне что надо указывать все поля всех задействованных таблиц??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 23:37 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
Код: c# 1. Только DirMenu при таком подходе не будет сущностью, частью контекста, лучше для таких выборок использовать специальный класс, чтобы не путать с сущностями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 23:54 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
Код: c# 1. Linq не юзаю, мне бы SQL-заросами. Использую SQLite, а там при сложных запросах надо указывать используемые индексы, если в плане запроса они не задействованны. То есть для каждого запроса свой класс создавать? Или создать один класс для всех запросов? И не задействовать его в классе "Контекст данных"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 00:09 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
potkin, Нет перечислять поля не надо. Если задача вернуть тип "DirMenus", то можно указать все поля сущности так "SELECT DirMenus.* FROM DirMenus". Ежели нужно вернуть не совпадающий спикос полей, то нужно делать так... Код: c# 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 00:09 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
Relic Hunter string studentName = ... А надо получить если список студентов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 00:18 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
potkin, Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 00:33 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
Relic Hunter Полей много. Создал дополнительный класс DirMenuSQL с аналогичными полями "DirMenu", только без ключей и т.д. А так же не задействовал его в " : DbContext" Код: c# 1. 2. 3. 4. Вылетает ошибка: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 00:51 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
potkin Код: c# 1. 2. 3. 4. 5. При таком запросе вывалится ошибка А если укажу все поля из модели ошибки не будет. А если добавить поле с PK? Т.е. DirMenuID. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 01:10 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
potkinДополнительные сведения: out of memoryЗначит дофига засосал:) Синтаксис правильный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 01:20 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
Таки заработало, но ... Создал дополнительный класс DirMenuSQL с полями, которые участвуют в выборке. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. И прописал в классе DbConnection : DbContext Код: c# 1. 2. 3. 4. 5. 6. 7. И всё заработало. Как я понимаю, для каждого запроса надо плодить свой класс с полями, которые задействованы в запросе? Я уверен на 100500%, что ошибаюсь, т.к. это полный бред. У меня к одной таблице может быть и 1000 запросов, это плодить 1000 классов? А сложные запросы, в которых задействованы 10-ки таблиц? А пользовательские запросы, что с ними делать? Вопрос: где ошибаюсь ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 10:19 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
у вас entity framwork? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 12:24 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
Ну да. 6.1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 14:25 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
а нафига вы пишите тогда запросы на скул вместо линку , где сможете скинуть в анонимный объект?) конечно дальше локального методы вы не пропихнете анонимный объект а если дальше то придется делать некое dto. и это нормально. Если вы хотите сделать модель отличную от целевой вам придется делать некие dto сущности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 14:36 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu а нафига вы пишите тогда запросы на скул вместо линку Чуть выше писал: potkinLinq не юзаю, мне бы SQL-заросами. Использую SQLite, а там при сложных запросах надо указывать используемые индексы, если в плане запроса они не задействованны. Посмотрел как Линк формирует запросы, мне не понравилось. Если честно, то я не тестил, но уверен, что скорость выполнения будет выше, если писать ручками. Хотя элементарные запросы будут и на Линке. handmadeFromRuЕсли вы хотите сделать модель отличную от целевой вам придется делать некие dto сущности ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 14:59 |
|
||
|
Model + DbContext: Индекс находился вне границ массива
|
|||
|---|---|---|---|
|
#18+
potkin, извиняюсь что не понял сразу. вы хинты чтоль юзаете чтоб явно указать индекс? Entity Framework: SqlQuery does not support mapping http://bartwullems.blogspot.ru/2014/06/entity-framework-sqlquery-does-not.html вам придется делать классы под каждый запрос, если вы не хотите использовать линку синтаксис. п.с. зачем вам тогда орм если вы используете голые запросы ? легкий врапер над адо и вперед. или даж лучше dapper используйте, он как раз таки может память на частичные сущности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 16:04 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38944025&tid=1356529]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 318ms |

| 0 / 0 |
