|
c# Ef + Automapper взаимодействия
|
|||
---|---|---|---|
#18+
Здравствуйте! Пытаюсь разобраться во взаимодействии Ef и Automapper. Многие пишут, что используя эти расширения жизнь разработчика становится слаще, вот и я решил разобраться в чем же счастье всего этого. Создал модель: Код: 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. 35. 36. 37. 38. 39. 40.
Создал класс конфигуратора Код: c# 1. 2. 3. 4. 5. 6. 7.
Ну и собственно работа с моделью: Код: 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.
Вопросы и недопонимания: #1 . Почему не изменяется статус EntityState при изменение свойства сущности? #2 . Запрос не выполняется когда я пытаюсь выполнить соединение двух списков. Что я делаю не так? Ну и вообще я правильно вообще использую Automapper, по изложеному коду? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 09:26 |
|
c# Ef + Automapper взаимодействия
|
|||
---|---|---|---|
#18+
Nechto, Проекции работают ТОЛЬКО ДЛЯ ЧТЕНИЯ. НЕ для изменения. Изменять надо оригинальные модели EF. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 10:20 |
|
c# Ef + Automapper взаимодействия
|
|||
---|---|---|---|
#18+
hVosttNechto, Проекции работают ТОЛЬКО ДЛЯ ЧТЕНИЯ. НЕ для изменения. Изменять надо оригинальные модели EF. Выходит, что весь этот automapper нужен только для представления(чтения)? А редактирование как обычно ручками, каждую сущность отдельно? Со вторым вопросом разобрался, нужно было ToList поставить. Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 12:24 |
|
c# Ef + Automapper взаимодействия
|
|||
---|---|---|---|
#18+
Ответ на 1 вопрос тоже нашел, путем изменения DTO модели и ForMember. Теперь изменения сущности в Book, учитываются. Код: c# 1. 2. 3. 4. 5. 6. 7.
Остался последний для меня не выясненный вопрос. А где нужно инициализировать AutoMapperConfigure.Configure(); Один раз при старте приложения или каждый раз при реализации запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 13:24 |
|
c# Ef + Automapper взаимодействия
|
|||
---|---|---|---|
#18+
NechtoВыходит, что весь этот automapper нужен только для представления(чтения)? А редактирование как обычно ручками, каждую сущность отдельно? Ты не понял. Я говорю про проекции, а не про AutoMapper. Пожалуйста, меняй свою проекцию, но чтобы применить свои измнения, надо с помощью маппера засунуть их обратно в сущности. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 14:05 |
|
c# Ef + Automapper взаимодействия
|
|||
---|---|---|---|
#18+
NechtoОстался последний для меня не выясненный вопрос. А где нужно инициализировать AutoMapperConfigure.Configure(); Один раз при старте приложения или каждый раз при реализации запроса? Один раз при старте приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 14:05 |
|
c# Ef + Automapper взаимодействия
|
|||
---|---|---|---|
#18+
hVosttNechtoВыходит, что весь этот automapper нужен только для представления(чтения)? А редактирование как обычно ручками, каждую сущность отдельно? Ты не понял. Я говорю про проекции, а не про AutoMapper. Пожалуйста, меняй свою проекцию, но чтобы применить свои измнения, надо с помощью маппера засунуть их обратно в сущности. Уже все понял :) Спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 14:29 |
|
|
start [/forum/topic.php?fid=17&fpage=7&tid=1349272]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 171ms |
0 / 0 |