|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmaw Код: c# 1.
из репозитория выносить в датасервис А чем плохо в репозитории? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 23:43 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
skyANA, там есть менюшка (слева) source ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 00:22 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Slivakmaw Код: c# 1.
из репозитория выносить в датасервис А чем плохо в репозитории? репозиториев может быть задействовано на одну бизнес-операцию (метод дата-сервиса) несколько, и SaveChanges лучше вынести в отдельный спец-репозиторий, который "только SaveChanges" и вызываться он будет из методов дата-сервиса. т.к. SaveChanges непосредственное отношение имеет к транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 07:19 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawSlivaпропущено... А чем плохо в репозитории? репозиториев может быть задействовано на одну бизнес-операцию (метод дата-сервиса) несколько, и SaveChanges лучше вынести в отдельный спец-репозиторий, который "только SaveChanges" и вызываться он будет из методов дата-сервиса. т.к. SaveChanges непосредственное отношение имеет к транзакции.тогда уже в UnitOfWork, или Registry и назвать это дело Commit :) а SaveChanges пусть тупо прикрепляет объект к контексту. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 08:26 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmaw репозиториев может быть задействовано на одну бизнес-операцию (метод дата-сервиса) несколько, и SaveChanges лучше вынести в отдельный спец-репозиторий, который "только SaveChanges" и вызываться он будет из методов дата-сервиса. т.к. SaveChanges непосредственное отношение имеет к транзакции. Что такое датасервис, более высокая абстракция? Отдельный слой? В каком месте данной архитектуры он будет находится? kmawи без аутентификации как-то не интересно Как можно аутентификацию в данную архитектуру вставить? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 14:05 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaЧто такое датасервис, более высокая абстракция? в вашем примере это внутренности реализации wcf-сервиса - их лучше в отдельную сборку вынести: эти функции часто нужны не только через wcf, а через какой-то другой вариант доступа ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 14:24 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmaw, Не понятно. У нас есть DAL, там EF. Как коммитить из другой сборки (датасервис)? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 18:54 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaskyANA, там есть менюшка (слева) sourceПосмотрел. 1. Сразу бросается в глаза, что CityRepository - это копипаста ClientRepository . Даже не все методы переименованы. :) 2. На уровне WCF сервиса используются и DTO объекты (MyClient, MyCity), и зачем-то DataTable. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 19:15 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
skyANA 1. Сразу бросается в глаза, что CityRepository - это копипаста ClientRepository . Даже не все методы переименованы. :) 2. На уровне WCF сервиса используются и DTO объекты (MyClient, MyCity), и зачем-то DataTable. 1. Да, копипаста:) UnitOfWork? 2. А DTO и объекты использовать вместе не приветствуется? Передаю DataTable для простоты биндинга с datagrid. Или лучше передавать свой класс, слепленный из MyClient и MyCity? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 20:05 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaПередаю DataTable для простоты биндинга с datagrid ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 20:10 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaskyANA1. Сразу бросается в глаза, что CityRepository - это копипаста ClientRepository . Даже не все методы переименованы. :) 2. На уровне WCF сервиса используются и DTO объекты (MyClient, MyCity), и зачем-то DataTable. 1. Да, копипаста:) UnitOfWork? 2. А DTO и объекты использовать вместе не приветствуется? Передаю DataTable для простоты биндинга с datagrid. Или лучше передавать свой класс, слепленный из MyClient и MyCity?Вам оно лучше знать, что подходит. Но... Если у клиента вдруг появится список контактов, то как Вы это будете передавать в DataTable? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 22:46 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
skyANA Если у клиента вдруг появится список контактов, то как Вы это будете передавать в DataTable? :) Вот, кстати, вопрос. Если нужно передать, к примеру, клиента и список контактов. На EF удобно работать с навигационными свойствами. Как сервису такое передать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 22:53 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaskyANAЕсли у клиента вдруг появится список контактов, то как Вы это будете передавать в DataTable? :) Вот, кстати, вопрос. Если нужно передать, к примеру, клиента и список контактов. На EF удобно работать с навигационными свойствами. Как сервису такое передать?Как объект соответсвующего типа. В чём проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 22:55 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Так например: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 22:58 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
skyANA, У меня классы контракта не связанны между собой. Видимо в этом моя проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 23:00 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaskyANA, У меня классы контракта не связанны между собой. Видимо в этом моя проблема. Хм, а какие конкретно классы надо "связать" и зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 23:02 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
skyANAТак например: понял. спасибо. [/src] ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 23:02 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
skyANAХм, а какие конкретно классы надо "связать" и зачем? Имелось в виду связь "главная-подчиненная" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 23:05 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaskyANAХм, а какие конкретно классы надо "связать" и зачем? Имелось в виду связь "главная-подчиненная"Это к таблицам относится, а не к классам. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 23:10 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
skyANA, Вот на примере. Есть класс Client. У него есть поле cityId, которое ссылается на таблицу Cities. Как мне передать клиенту объект Client и получить name таблицы Cities? 2 мысли: 1. Расширить класс Client и предзаполнять поле. 2. Поддержка навигационных свойств на клиенте. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2015, 23:20 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Выложил исправления. Поправил код, плюс сделал UnitOfWork. Осталось IoC внедрить. Работал с ninject. Пока не понятно куда его прикрутить. И аутентификацию. Ткните, где почитать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 00:37 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Slivaплюс сделал UnitOfWork. Ваш класс UnitOfWork - это какая-то лишняя прослойка. зачем? DbContext уже и так является UnitOfWork (да и репозиторием "общего назначения"). Код: c# 1. 2. 3.
Commit - он у транзакции. где тут транзакция? я бы выкинул Ваш класс UnitOfWork. куда-то вы не туда пошли, на мой взгляд. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 07:32 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawSlivaплюс сделал UnitOfWork. Ваш класс UnitOfWork - это какая-то лишняя прослойка. зачем? DbContext уже и так является UnitOfWork (да и репозиторием "общего назначения"). Ну да, лишняя абстракция - для наглядности. Транзакцию забыл. Ну тогда и прослойку репозиторий можно убрать. Работать с DbContex-ом из сервиса? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 09:01 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaНу тогда и прослойку репозиторий можно убрать. нет, не надо. в репозитории как раз и спрятан DbContext и детали ОРМ (раз с ней работаете). SlivaРаботать с DbContex-ом из сервиса? это путь в "баттонклик наше все". однозначно нет ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 09:21 |
|
|
start [/forum/topic.php?fid=19&startmsg=39133956&tid=1396810]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 313ms |
total: | 494ms |
0 / 0 |