Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
09.03.2015, 17:08
|
|||
---|---|---|---|
|
|||
EF + Repository + DI |
|||
#18+
День добрый! Возник намедни такой вопрос. Есть у меня реализация репозитория: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Используется Constructor Injection: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Как правильно делать, каждый раз создавать новый экземпляр SomeEntityRepository или чтобы один раз создался и IoC-контейнер возвращал созданный при первом обращении? Насколько вообще хорошая практика хранить в контейнере экземпляры в единственном числе? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.03.2015, 18:06
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
xxxTIMxxxКак правильно делатьОт приложения зависит. В большинстве случаев контейнеру указывают, чтобы создавал один экземпляр на поток, или запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 05:20
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
xxxTIMxxxКак правильно делать...DbContext так же должен инжектироваться контейнером + совет от skyANA. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 05:48
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
xxxTIMxxxНасколько вообще хорошая практика хранить в контейнере экземпляры в единственном числе? Плохая практика. Создаёшь контекст, делаешь че надо, убиваешь контекст. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 06:04
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
hVosttxxxTIMxxxНасколько вообще хорошая практика хранить в контейнере экземпляры в единственном числе? Плохая практика. Создаёшь контекст, делаешь че надо, убиваешь контекст.И таскаешь его параметром методов между сервисами. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 08:30
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
Алексей КИ таскаешь его параметром методов между сервисами. Ето как? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 09:03
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
hVosttАлексей КИ таскаешь его параметром методов между сервисами. Ето как?Это видимо какая-то своя реализация Unit of Work. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 09:16
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
skyANAЭто видимо какая-то своя реализация Unit of Work. Не понятно как ето таскать параметром методов. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 09:39
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
hVosttskyANAЭто видимо какая-то своя реализация Unit of Work. Не понятно как ето таскать параметром методов.А я понял как, у нас в старом г-коде тоже много где встречается: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Мы это г. активно рефакторим. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 10:44
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
hVosttАлексей КИ таскаешь его параметром методов между сервисами. Ето как?Если в разных методах понадобится один контекст. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 10:44
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
skyANAhVosttпропущено... Не понятно как ето таскать параметром методов.А я понял как, у нас в старом г-коде тоже много где встречается: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Мы это г. активно рефакторим.Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 10:58
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
skyANAА я понял как, у нас в старом г-коде тоже много где встречается: Алексей КЕсли в разных методах понадобится один контекст. А, ну я так и подумал, передавать зависимость ручками. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 11:03
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
Алексей КhVosttпропущено... Ето как?Если в разных методах понадобится один контекст.1. Для этого не обязательно его передавать в параметрах метода; 2. Ты кстати можешь оценить насколько часто может "понадобится один контекст в разных методах"? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 11:05
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
skyANAАлексей Кпропущено... Если в разных методах понадобится один контекст.1. Для этого не обязательно его передавать в параметрах метода;Ну я и предложил вынести его на уровень класса и подсовывать снаружи диконтейнером. skyANA2. Ты кстати можешь оценить насколько часто может "понадобится один контекст в разных методах"?У меня часто, у остальных - не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 11:08
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
Алексей КskyANAпропущено... 1. Для этого не обязательно его передавать в параметрах метода;Ну я и предложил вынести его на уровень класса и подсовывать снаружи диконтейнером.Через конструктор, свойство, как? Алексей КskyANA2. Ты кстати можешь оценить насколько часто может "понадобится один контекст в разных методах"?У меня часто, у остальных - не знаю.больше 50%? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 11:14
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
skyANAАлексей Кпропущено... Ну я и предложил вынести его на уровень класса и подсовывать снаружи диконтейнером.Через конструктор, свойство, как?Конструктор, свойство - как больше нравится, как умеет диконтейнер. skyANAАлексей Кпропущено... У меня часто, у остальных - не знаю.больше 50%?Достаточно часто, чтобы не таскать в параметрах. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 11:50
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
Алексей КskyANAпропущено... Через конструктор, свойство, как?Конструктор, свойство - как больше нравится, как умеет диконтейнер. skyANAпропущено... больше 50%?Достаточно часто, чтобы не таскать в параметрах.Понятно, вообщем как у нас. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 11:54
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
Алексей К, а зачем ты вообще это написал: 17362427 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 12:36
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
skyANAАлексей К, а зачем ты вообще это написал: 17362427 ?Потому что это приведёт к случаю, пример которого ты привёл. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 13:05
|
|||
---|---|---|---|
|
|||
EF + Repository + DI |
|||
#18+
hVosttxxxTIMxxxНасколько вообще хорошая практика хранить в контейнере экземпляры в единственном числе? Плохая практика. Создаёшь контекст, делаешь че надо, убиваешь контекст. Т.е. и сервис должен создаваться каждый раз новый? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 13:44
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
xxxTIMxxxhVosttпропущено... Плохая практика. Создаёшь контекст, делаешь че надо, убиваешь контекст. Т.е. и сервис должен создаваться каждый раз новый? да, конечно. если операции повторяющиеся часто, можно организовать пул. в простейшем варианте можно хранить сервисы и контекст, но лучше сразу избавляться от такого подхода, будет слегка сложнее, но в итоге гораздо меньше боли. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 14:42
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
xxxTIMxxxhVosttпропущено... Плохая практика. Создаёшь контекст, делаешь че надо, убиваешь контекст. Т.е. и сервис должен создаваться каждый раз новый?Зависит от архитектуры. Например, если это веб-приложение, то удобно привязывать время жизни сервисов и DbContext к http-запросу. Но об этом уже было сказано. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 15:07
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
Алексей КЗависит от архитектуры. Например, если это веб-приложение, то удобно привязывать время жизни сервисов и DbContext к http-запросу. Но об этом уже было сказано. А если не веб? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 15:10
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
hVostt, А разве большая разница веб или не веб? Там по-моему вообще один фиг разница, на UI не это завязано. А цикл жизни объекта определается вне зависимости от этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2015, 15:13
|
|||
---|---|---|---|
EF + Repository + DI |
|||
#18+
AxeleronhVostt, А разве большая разница веб или не веб? Там по-моему вообще один фиг разница, на UI не это завязано. А цикл жизни объекта определается вне зависимости от этого. Так к чему привязывать, если нет Http-запросов? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=17&tablet=1&tid=1349607]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
213ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
112ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 389ms |
0 / 0 |