|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
Здравствуйте Все! Делаю приложение asp.net core mvc 3.. Создал класс репозитория , который через контроллер передается в представление. В репозитории я создаю объект , который включает в себя связанные таблицы. Код: 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.
Далее в представлении мне приходится для вывода значений идти по веткам таблиц . Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Все конечно работает, но это же не правильно? Нужно же что бы была только одна ветка? например @g.Articul @g.Stock @g.Type ну и так далее..... Как сформировать правильный запрос в репозитории? Его же надо делать именно там? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2020, 14:25 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
открой для себя вьюмодель и не тащи на вьюшку модель бд ... п.с. репо ты для чего отделил а то люди просто суют не понимая зачем п.с. п.с если ты выкатил IQueryable то зачем ты в репо делаешь Include это можно сделать в любом месте по нужде ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2020, 14:51 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
handmadeFromRu п.с. п.с если ты выкатил IQueryable то зачем ты в репо делаешь Include это можно сделать в любом месте по нужде Но лучше так не делать. А нужду справлять в специально отведенных для этого местах. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2020, 15:30 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
handmadeFromRu, Я по книжке Фримана пытаюсь сделать приложение Там ViewModel отсутствует(может я не нашел). Это паттерн? Там у него и IQueryable и Include . База данных у меня уже есть рабочая. Может примерчик какой подскажете? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2020, 18:39 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
fkthat, В смысле? repo вообще не нужен? Пользоваться viewModel? Объясните поподробнее пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2020, 19:09 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
jeanssp fkthat, В смысле? repo вообще не нужен? Пользоваться viewModel? Объясните поподробнее пожалуйста. Выставлять наружу IQueryable не нужен. "Leak of abstraction", говорят, типа. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2020, 19:35 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
fkthat jeanssp fkthat, В смысле? repo вообще не нужен? Пользоваться viewModel? Объясните поподробнее пожалуйста. Выставлять наружу IQueryable не нужен. "Leak of abstraction", говорят, типа. можно осторожно, к примеру на только чтение, но кодом не ограничить есть противники как и репо так и не делать раз орм уже по сути и репо и юнит оф ворк. почему репо лепять чтоб типо сделать абстракцию над источником данных авось поменяется в будущем вываливать IQueryable удобно делать запрос альтернатива делать жирный репо его альтернатива Specification + Repository ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2020, 23:24 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
jeanssp handmadeFromRu, Я по книжке Фримана пытаюсь сделать приложение Там ViewModel отсутствует(может я не нашел). Это паттерн? Там у него и IQueryable и Include . База данных у меня уже есть рабочая. Может примерчик какой подскажете? у тебя тащить много сущностей из репо они все тебе нужны? вьюмодель эт переделать только то что надо...если по твоей методике вернуть json я почти уверен что ты огребешь зацикливание ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2020, 23:28 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
handmadeFromRu вываливать IQueryable удобно делать запрос И удобно выстрелить себе в ногу, в любой момент случайно написав запрос, не поддерживаемый нижележащим линкью-провайдером. (Собственно, в этом та самая "протечка" и есть). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 05:03 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
handmadeFromRu, Не понятно. Пример бы ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 10:22 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
Скажите, пожалуйста, хотя быв каком классе должна происходить инициализация объекта контекста? У меня это происходило в репо. А теперь в классе viewModel? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 13:33 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
jeanssp Скажите, пожалуйста, хотя быв каком классе должна происходить инициализация объекта контекста? Ничего самому инициализировать не надо. Инжектишь просто его в конструктор репо, остальное DI делает за тебя. jeanssp У меня это происходило в репо. А теперь в классе viewModel? Упаси боже. Только не там. ВьюМодель это тупой ДТО единственный консерн которого это хранить в себе данные для отображения на Вью. Он не должен содержать никакой логики, которая зависит от БД или вообще от других компонентов. Максимум - это какая-нибудь примитивная логика связанная только с представлнием данных (форматирование, например). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 19:12 |
|
ASP.NET CORE linq и репозиторий
|
|||
---|---|---|---|
#18+
fkthat jeanssp Скажите, пожалуйста, хотя быв каком классе должна происходить инициализация объекта контекста? Ничего самому инициализировать не надо. Инжектишь просто его в конструктор репо, остальное DI делает за тебя. . ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 20:22 |
|
|
start [/forum/topic.php?fid=18&fpage=9&tid=1354770]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 277ms |
total: | 406ms |
0 / 0 |