|
|
|
Как правильно сделать выборку из БД, используя Entity Framework?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, использую Entity Framework. В моём wfa приложении есть DataGridView, которому я задаю такой DataSource: Код: c# 1. 2. Если задавать так, то всё работает (добавление, изменение), но тогда появляется проблема: в таблице есть поле menu_id и я хочу выводить не номер меню, а его название, но при такой выборке у меня это никак не получается. Однако получается получить название меню, используя такой запрос: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. Но появляется другая проблема, у меня перестаёт работать добавление, изменение (ошибка в этой строчке): Код: c# 1. ProductInfo это свойство из 2-ой формы, которая возвращает объект типа Product: Код: c# 1. 2. 3. 4. 5. 6. 7. Текст ошибки: Объекты, добавляемые к списку BindingSource, должны быть одного типа. Ошибка понятна, но совершенно не понимаю как её решить. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 20:36 |
|
||
|
Как правильно сделать выборку из БД, используя Entity Framework?
|
|||
|---|---|---|---|
|
#18+
Daniil S., Жесть какая... биндинг на ToList? А если там товаров будет 100 тысяч? Умрёт твоё приложение. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Т.е. как решить можно ошибку вида Объекты, добавляемые к списку BindingSource, должны быть одного типа . ...наверное надо работать с одним типом. В списке и добавляемый объекты должны быть одного типа. Одного типа! Никак иначе это решить нельзя, кроме как работать с одним типом. Какие ещё могут тут быть решения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 22:42 |
|
||
|
Как правильно сделать выборку из БД, используя Entity Framework?
|
|||
|---|---|---|---|
|
#18+
hVostt, Спасибо, но у меня всё равно не получается. Дело в том, что у меня DataBase First приложение и EF сам сгенерировал мне классы, вот класс Product: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. Пытаюсь сделать так, как вы мне написали: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Но тогда подчёркивает строку Код: c# 1. говорит, что не может преобразовать тип string в RestrauntCMS.Menu Пожалуйста помогите найти компромисс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 11:09 |
|
||
|
Как правильно сделать выборку из БД, используя Entity Framework?
|
|||
|---|---|---|---|
|
#18+
Daniil S., Тут надо поработать сделать свой источник, унаследованный от IBindingList. Внутри уже использовать запросы через EF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 15:51 |
|
||
|
Как правильно сделать выборку из БД, используя Entity Framework?
|
|||
|---|---|---|---|
|
#18+
Daniil S., Нельзя использовать класс Product в запросах. Ты можешь запрашивать только чистые Product. Если хочешь другой набор данных, определи свой дополнительный класс. Я же показал в примере, создай отдельный класс ProductDto, он не должен быть классом EF и маппиться на таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 16:00 |
|
||
|
Как правильно сделать выборку из БД, используя Entity Framework?
|
|||
|---|---|---|---|
|
#18+
hVostt, Подскажите пожалуйста, что это означает и как это реализовать? hVosttон не должен быть классом EF и маппиться на таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 17:56 |
|
||
|
Как правильно сделать выборку из БД, используя Entity Framework?
|
|||
|---|---|---|---|
|
#18+
Daniil S., Это значит, что если EF сгенерировал классы, например, Product, значит эти классы нельзя использовать вот так: Код: c# 1. можно только так: Код: c# 1. Если ты хочешь выбрать отдельные поля, или поля из навигационных полей, например, там меню или чего ты хочешь, надо создавать свой отдельный класс и выбирать в него: Код: c# 1. Видишь разницу? Product это класс который сгенерировал EF, а ProductDto это класс который ты сам создал. Ты можешь назвать его по-другому. Как ещё объяснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 19:15 |
|
||
|
Как правильно сделать выборку из БД, используя Entity Framework?
|
|||
|---|---|---|---|
|
#18+
Daniil S., Это касательно ошибки, которую ты хочешь победить. Но в целом, ты изначально всё делаешь неправильно. Найди какую-нибудь книжку, уроки, примеры какие-нибудь и изучай их. Одно дело подсказать, другое дело с нуля научить. На форуме никто тебя не научит, это невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 19:17 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=9&tid=1349331]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 9ms |
| total: | 119ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...