|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
Всем доброго дня! классический код: Код: 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.
Хочется, чтобы Accounts подгружался "лениво", как это сделать БЕЗ использования вездесущего Entity Framework? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 10:16 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
"Вам шашечки или ехать?" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 10:21 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
Алексей К, ехать с шашечками) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 10:25 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
Nicky_N, выкинуть репозиторий, и не страдать архитектурной ерундой. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 15:18 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
SolYUtor, ок, а где и как организовывать взаимодействие с БД (я использую шаблон MVVM)? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 16:22 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
[quot Nicky_N]Хочется, чтобы Accounts подгружался "лениво", как это сделать БЕЗ использования вездесущего Entity Framework?/quot] Например: Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 16:44 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
Или подумать над тем, как это реализовано в Entity Framework и сделать по аналогии. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 16:47 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
SolYUtorNicky_N, выкинуть репозиторий, и не страдать архитектурной ерундой. Репозиторий, датасервис или иная обертка по-любому нужна. Другое дело, что эта обертка может быть отнаследована от ef контекста или отдавать через паблик свойство доступ к контексту для телодвижений извне. P.S. По вопросу: сделать в конструкторе параметр EfContext.Configuration.LazyLoadingEnabled? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 17:17 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
МСУ, я в сабже просил без EntityFramework) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 17:21 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
Nicky_NМСУ, я в сабже просил без EntityFramework) А куда сейчас без Entity Framework? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 17:25 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
skyANA предложил интересную конструкцию: Lazy<T>, погуглил, вот что вышло: Код: 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.
Не хочу показаться догматиком, но меня волнует место метода GetAccountByCustomerID. Это как бы метод репозитария Account? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 17:28 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
МСУА куда сейчас без Entity Framework? :) а вот куда: Oracle 9i R2, первый нативный ODAC без поддержки EF, + отказ на начальном этапе от использования NHibernate. так что только ADO.Net, только хардкор)) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 17:31 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
Nicky_NOracle 9i R2 На помойку старьё: http://download.oracle.com/oll/obe/EntityFrameworkOBE/EntityFrameworkOBE.htm Nicky_Nотказ на начальном этапе от использования NHibernate. Зачем отказались от этого замечательного ORM? Nicky_Nтак что только ADO.Net, только хардкор)) ССЗБ :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 17:46 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
МСУНа помойку старьё: http://download.oracle.com/oll/obe/EntityFrameworkOBE/EntityFrameworkOBE.htm Prerequisites Before starting this tutorial, you should: 2. Install Oracle Database 10.2 or later or Oracle Database XE. я б с радостью перешел на более новую версию, но от меня в этом вопросе, к сожалению, ничего не зависит. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 17:50 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
Nicky_NНе хочу показаться догматиком, но меня волнует место метода GetAccountByCustomerID. Это как бы метод репозитария Account?Нет такой догмы, делать отдельный репозитарий на каждую сущность. Делайте как считаете нужным. Сcылка для почитать: Проблемный шаблон Repository . ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 17:52 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
Nicky_Nя б с радостью перешел на более новую версию, но от меня в этом вопросе, к сожалению, ничего не зависит. Да верю, верю. Просто нахрена было отказываться от хибернейта, не понимаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 17:59 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
МСУ, я не совсем правильно выразился. когда проект стартовал - хибернейт даже не рассматривали (вот так вот ужас!), а потом через 4 года столько уже было понаписано, что уже и не стали) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 19:32 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
предположу: GetCustomers - выдача списка Customer с Accounts = null - это для формирования формы журнала GetCustomerByID - выдача Customer по ID с Accounts != null - это для формирования формы карточки тогда просто в первом методе не заполнять Accounts, а во втором, соответственно, заполнять. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 19:41 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
Nicky_NМСУ, я не совсем правильно выразился. когда проект стартовал - хибернейт даже не рассматривали (вот так вот ужас!), а потом через 4 года столько уже было понаписано, что уже и не стали) Ну так самое время рассмотреть его внедрение. Старые лохмотья пусть тухнут, новые допилы - через прямые руки. Не? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 19:49 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
Nicky_NSolYUtor, ок, а где и как организовывать взаимодействие с БД (я использую шаблон MVVM)? Преимущественно использовать шаблон DbContext Per Form. Контекст передавать прямо в VM, при закрытии формы SaveChanges или CancelChanges, смотря что там юзер накликал. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 19:52 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
kmaw, вроде как бы уже решил проблему с помощью Lazy<T>. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 20:00 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
SolYUtorNicky_NSolYUtor, ок, а где и как организовывать взаимодействие с БД (я использую шаблон MVVM)? Преимущественно использовать шаблон DbContext Per Form. Контекст передавать прямо в VM, при закрытии формы SaveChanges или CancelChanges, смотря что там юзер накликал. Бред. Особенно неадекватен при работе с вебом. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 20:03 |
|
Lazy Loading & Repository как подружить?
|
|||
---|---|---|---|
#18+
МСУNicky_NМСУ, я не совсем правильно выразился. когда проект стартовал - хибернейт даже не рассматривали (вот так вот ужас!), а потом через 4 года столько уже было понаписано, что уже и не стали) Ну так самое время рассмотреть его внедрение. Старые лохмотья пусть тухнут, новые допилы - через прямые руки. Не? я не смогу всем переломать хребет) и так вот пытаюсь: тут тебе MVVM, тут тебе Repository pattern - глядишь, когда случится чудо с переводом на новую версию БД или использованием хибернейта - останется только DAL переписать! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 20:05 |
|
|
start [/forum/topic.php?fid=20&tid=1404902]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 166ms |
0 / 0 |