|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Всем привет, не очень понятно правильно ли я взаимодействую с Entity FrameworkCore. Код: 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. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111.
При создании коллекция элементов инициализируется значениями из _DbContext, но не "связывается" с ним с целью согласованности изменений, поэтому все действия с _DbContext приходится дублировать с коллекцией, привязанной к View. Собственно вопрос- является ли такой подход верным, и есть ли способ связать _DbContext c прибинденными коллекциями во View, чтобы избежать дублирования действий и над _DbContext и над собственно коллекциями. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 10:20 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
- создал контекст - заполнил коллекцию - закрыл контекст .... пользователь производит действия над коллекций, view обновляется автоматически .... пользователь нажимает кнопку "сохранить" - создал контекст - загрузил коллекцию - сравнил с имеющейся отредактированной, удадил удаленные, добавил новые в контексте - сохранил контекст - закрыл контекст как-то так ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 10:27 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.Pro, Прости, но ты описал ровно то что сейчас у него и есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 10:34 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
нет ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 10:36 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
vb_subПри создании коллекция элементов инициализируется значениями из _DbContext, но не "связывается" с ним с целью согласованности изменений, поэтому все действия с _DbContext приходится дублировать с коллекцией, привязанной к View. Собственно вопрос- является ли такой подход верным, и есть ли способ связать _DbContext c прибинденными коллекциями во View, чтобы избежать дублирования действий и над _DbContext и над собственно коллекциями. Спасибо.есть много ньюансов и много решенй. Это: ленивые свойства, короткие, длинные транзакции, приаттачить обратно в контекст, проекции. Их комбинация дает много вариантов решений. Единственно правильного нету. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 10:38 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.Proнетбуду рад. Тогда ТС вопрос закроет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 10:41 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.Pro, то есть нужен еще промежуточный DataLayer между ViewModel и AppDBContext, который будет отвечать за хранение данных для ViewModel и за CRUD операции- напрямую использовать AppDBContext в ViewModel не стоит? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 12:42 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
vb_subShocker.Pro, то есть нужен еще промежуточный DataLayer между ViewModel и AppDBContext, который будет отвечать за хранение данных для ViewModel и за CRUD операции- напрямую использовать AppDBContext в ViewModel не стоит? Сначала решите какой у вас MV*** Если MVVM то там Модель, ВьюМодель и Вью. Слова контекст не используются. Это ещё ниже. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 13:06 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
vb_subнапрямую использовать AppDBContext в ViewModel не стоит?Да, лучше изначально не превращать код в спагетти. Дело модели представления - отображать данные, а не заниматься взаимодействием с БД - это дело сервисных слоев. И это только на первый взгляд кажется, что кода больше, на самом деле потом сильно легче, когда нормальная слабосвязанная архитектура. Но тут дело даже не в этом. Работа с контекстом предполагает, что его открыли, получили/записали данные и закрыли, а не держат постоянно открытым, пока потенциально бесконечно медленный пользователь щелкает по кнопкам. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 13:13 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.Pro, У меня без всякого подлавливания просьба показать, работает ли двухсторонний биндинг в коллекциях WPF + EF. Если работает, то схематичный пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 13:27 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.Pro, то есть при каждом обращении к контексту нужно его заново создавать и сразу уничтожать после использования? Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 13:29 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.ProРабота с контекстом предполагает, что его открыли, получили/записали данные и закрыли, а не держат постоянно открытымесли десктоп, то не согласен. Вполне можно держать открытым на окно, на сессию. У меня на окно есть такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 13:36 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3.
Imho ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 13:51 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
vb_subто есть при каждом обращении к контексту нужно его заново создавать и сразу уничтожать после использования?Не то чтобы при каждом... для совершения пакета операций, который не требует внутри себя ожидания действий пользователя и всяческих аналогичных внешних устройств В общем его время жизни должно быть минимально разумным. К примеру, в ASP.NET контекст создается на каждый запрос к серверу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 13:51 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
vb_subShocker.Pro, то есть при каждом обращении к контексту нужно его заново создавать и сразу уничтожать после использования? Код: c# 1. 2. 3. 4. 5.
И где тут Модель и коллекция Observable/Changed? С моделью там немножко по другому) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 13:55 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Petro123У меня без всякого подлавливания просьба показать, работает ли двухсторонний биндинг в коллекциях WPF + EF. Если работает, то схематичный пример.Посмотри книгу Макдональда по WPF - там в главе "Привязка данных" есть пример привязки контролов WPF прям на коллекцию источника данных без всяких промежуточных ObservableCollection. То есть для HelloWorld-а по-быстрому на коленке можно набросать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 13:57 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Petro123если десктоп, то не согласен. Вполне можно держать открытым на окно, на сессию.Оптимистическая блокировка, вот что создаст головную боль. Ну и разрастание трегингового кеша Petro123 Код: c# 1. 2. 3.
Офигеть, то есть насоздаешь параллельных контекстов, которые потом будут драться? Тогда уж синглтон, если очень хочется его не закрывать ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 14:03 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.ProМакдональда по WPF Mode=TwoWay s.253? Ок. Гляну. Пока не понял, как можно биндить если моя коллекция будет без событий. Спс. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 14:05 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.Proблокировка, вот что создаст головную боль.? При сохранении проверит. Даст знать что кто то поправил до тебя. Нет проблем. Про кеш, я сказал что десктоп и кеш только у Петров.exe. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 14:08 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.ProОфигеть, то есть насоздаешь параллельных контекстов, которые потом будут драться? Тогда уж синглтон, если очень хочется его не закрывать Старый не мой проект)). Тут сам контрол синглетон. Один экземпляр). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 14:10 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Petro123При сохранении проверит. Даст знать что кто то поправил до тебя. Нет проблем.А зачем создавать эту ситуацию? Это некрасиво с точки зрения пользователя. Petro123Про кеш, я сказал что десктоп и кеш только у Петров.exe.И что, у тебя в конце-концов так вся БД в кеш перекачается, оно тебе надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 14:11 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.ProЭто некрасиво с точки А как иначе то? Длина транзакции на это не влияет ЕСЛИ ВЗЯЛ СУЩНОСТЬ В ФОРМУ НА РЕДАКТИРОВАНИЕ. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 14:15 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.Proвся БД в кеш перекачается, оно тебе надо?да нет же. Контекст на модальное окно Справочник городов. Как пример. Там вью только 3 таблы. А база тыща таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 14:18 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Petro123Контекст на модальное окно Справочник городов. Как пример.Ерундовый пример. Более-менее развитое приложение будет поддерживать параллельную работу в нескольких вкладках, а не модальные окна. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 14:23 |
|
Как правильно работать с Entity FrameworkCore
|
|||
---|---|---|---|
#18+
Shocker.ProPetro123Контекст на модальное окно Справочник городов. Как пример.Ерундовый пример. Более-менее развитое приложение будет поддерживать параллельную работу в нескольких вкладках, а не модальные окна. Сколько вью на 4 вкладки? Где кнопка Сохранить бизнес транзакцию? На каждой? Одна на все? ... И т.д. и т.п. Главное, что программист много получает, т.к. вариантов написания кода полно. С этим ты наверняка согласен). Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 15:08 |
|
|
start [/forum/topic.php?fid=21&msg=39671618&tid=1440410]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
130ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 257ms |
total: | 482ms |
0 / 0 |