powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF и ORM
25 сообщений из 82, страница 3 из 4
WCF и ORM
    #39133956
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmaw

Код: c#
1.
context.SaveChanges();


из репозитория выносить в датасервис

А чем плохо в репозитории?
...
Рейтинг: 0 / 0
WCF и ORM
    #39133981
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlivaskyANA,

Да, конечно.
source и что это? Я с iPad хочу посмотреть код.
...
Рейтинг: 0 / 0
WCF и ORM
    #39133987
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

там есть менюшка (слева) source
...
Рейтинг: 0 / 0
WCF и ORM
    #39134053
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slivakmaw
Код: c#
1.
context.SaveChanges();



из репозитория выносить в датасервис

А чем плохо в репозитории?

репозиториев может быть задействовано на одну бизнес-операцию (метод дата-сервиса) несколько, и SaveChanges лучше вынести в отдельный спец-репозиторий, который "только SaveChanges" и вызываться он будет из методов дата-сервиса. т.к. SaveChanges непосредственное отношение имеет к транзакции.
...
Рейтинг: 0 / 0
WCF и ORM
    #39134087
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawSlivaпропущено...


А чем плохо в репозитории?

репозиториев может быть задействовано на одну бизнес-операцию (метод дата-сервиса) несколько, и SaveChanges лучше вынести в отдельный спец-репозиторий, который "только SaveChanges" и вызываться он будет из методов дата-сервиса. т.к. SaveChanges непосредственное отношение имеет к транзакции.тогда уже в UnitOfWork, или Registry и назвать это дело Commit :) а SaveChanges пусть тупо прикрепляет объект к контексту.
...
Рейтинг: 0 / 0
WCF и ORM
    #39134546
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmaw
репозиториев может быть задействовано на одну бизнес-операцию (метод дата-сервиса) несколько, и SaveChanges лучше вынести в отдельный спец-репозиторий, который "только SaveChanges" и вызываться он будет из методов дата-сервиса. т.к. SaveChanges непосредственное отношение имеет к транзакции.
Что такое датасервис, более высокая абстракция? Отдельный слой? В каком месте данной архитектуры он будет находится?

kmawи без аутентификации как-то не интересно

Как можно аутентификацию в данную архитектуру вставить?
...
Рейтинг: 0 / 0
WCF и ORM
    #39134597
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlivaЧто такое датасервис, более высокая абстракция?

в вашем примере это внутренности реализации wcf-сервиса - их лучше в отдельную сборку вынести: эти функции часто нужны не только через wcf, а через какой-то другой вариант доступа
...
Рейтинг: 0 / 0
WCF и ORM
    #39135033
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmaw,

Не понятно. У нас есть DAL, там EF. Как коммитить из другой сборки (датасервис)?
...
Рейтинг: 0 / 0
WCF и ORM
    #39135056
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlivaskyANA,

там есть менюшка (слева) sourceПосмотрел.

1. Сразу бросается в глаза, что CityRepository - это копипаста ClientRepository . Даже не все методы переименованы. :)
2. На уровне WCF сервиса используются и DTO объекты (MyClient, MyCity), и зачем-то DataTable.
...
Рейтинг: 0 / 0
WCF и ORM
    #39135088
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
1. Сразу бросается в глаза, что CityRepository - это копипаста ClientRepository . Даже не все методы переименованы. :)
2. На уровне WCF сервиса используются и DTO объекты (MyClient, MyCity), и зачем-то DataTable.

1. Да, копипаста:) UnitOfWork?
2. А DTO и объекты использовать вместе не приветствуется? Передаю DataTable для простоты биндинга с datagrid. Или лучше передавать свой класс, слепленный из MyClient и MyCity?
...
Рейтинг: 0 / 0
WCF и ORM
    #39135091
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlivaПередаю DataTable для простоты биндинга с datagrid
...
Рейтинг: 0 / 0
WCF и ORM
    #39135199
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlivaskyANA1. Сразу бросается в глаза, что CityRepository - это копипаста ClientRepository . Даже не все методы переименованы. :)
2. На уровне WCF сервиса используются и DTO объекты (MyClient, MyCity), и зачем-то DataTable.

1. Да, копипаста:) UnitOfWork?
2. А DTO и объекты использовать вместе не приветствуется? Передаю DataTable для простоты биндинга с datagrid. Или лучше передавать свой класс, слепленный из MyClient и MyCity?Вам оно лучше знать, что подходит. Но...

Если у клиента вдруг появится список контактов, то как Вы это будете передавать в DataTable? :)
...
Рейтинг: 0 / 0
WCF и ORM
    #39135202
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
Если у клиента вдруг появится список контактов, то как Вы это будете передавать в DataTable? :)

Вот, кстати, вопрос. Если нужно передать, к примеру, клиента и список контактов. На EF удобно работать с навигационными свойствами. Как сервису такое передать?
...
Рейтинг: 0 / 0
WCF и ORM
    #39135203
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlivaskyANAЕсли у клиента вдруг появится список контактов, то как Вы это будете передавать в DataTable? :)

Вот, кстати, вопрос. Если нужно передать, к примеру, клиента и список контактов. На EF удобно работать с навигационными свойствами. Как сервису такое передать?Как объект соответсвующего типа. В чём проблема?
...
Рейтинг: 0 / 0
WCF и ORM
    #39135205
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так например:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
namespace WcfServiceHost.Classes
{
    [DataContract]
    public class ClientSummary {
        [DataMember]
        public int Id { get; set; }

        [DataMember]
        public string LastName { get; set; }

        [DataMember]
        public string FirstName { get; set; }

        [DataMember]
        public int CityId { get; set; }

        public IEnumerable<ContactSummary> Contacts { get; set; }
    }
}
...
Рейтинг: 0 / 0
WCF и ORM
    #39135208
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

У меня классы контракта не связанны между собой. Видимо в этом моя проблема.
...
Рейтинг: 0 / 0
WCF и ORM
    #39135210
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlivaskyANA,

У меня классы контракта не связанны между собой. Видимо в этом моя проблема.
Хм, а какие конкретно классы надо "связать" и зачем?
...
Рейтинг: 0 / 0
WCF и ORM
    #39135211
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТак например:
понял. спасибо.
[/src]
...
Рейтинг: 0 / 0
WCF и ORM
    #39135215
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAХм, а какие конкретно классы надо "связать" и зачем?
Имелось в виду связь "главная-подчиненная"
...
Рейтинг: 0 / 0
WCF и ORM
    #39135218
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlivaskyANAХм, а какие конкретно классы надо "связать" и зачем?
Имелось в виду связь "главная-подчиненная"Это к таблицам относится, а не к классам.
...
Рейтинг: 0 / 0
WCF и ORM
    #39135227
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Вот на примере. Есть класс Client. У него есть поле cityId, которое ссылается на таблицу Cities. Как мне передать клиенту объект Client и получить name таблицы Cities?
2 мысли:
1. Расширить класс Client и предзаполнять поле.
2. Поддержка навигационных свойств на клиенте.
...
Рейтинг: 0 / 0
WCF и ORM
    #39135272
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложил исправления.
Поправил код, плюс сделал UnitOfWork.
Осталось IoC внедрить. Работал с ninject. Пока не понятно куда его прикрутить.
И аутентификацию. Ткните, где почитать.
...
Рейтинг: 0 / 0
WCF и ORM
    #39135328
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slivaплюс сделал UnitOfWork.

Ваш класс UnitOfWork - это какая-то лишняя прослойка. зачем? DbContext уже и так является UnitOfWork (да и репозиторием "общего назначения").

Код: c#
1.
2.
3.
public void Commit() {
            context.SaveChanges();
        } 



Commit - он у транзакции. где тут транзакция?

я бы выкинул Ваш класс UnitOfWork. куда-то вы не туда пошли, на мой взгляд.
...
Рейтинг: 0 / 0
WCF и ORM
    #39135374
Фотография Sliva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawSlivaплюс сделал UnitOfWork.

Ваш класс UnitOfWork - это какая-то лишняя прослойка. зачем? DbContext уже и так является UnitOfWork (да и репозиторием "общего назначения").

Ну да, лишняя абстракция - для наглядности. Транзакцию забыл.
Ну тогда и прослойку репозиторий можно убрать.

Работать с DbContex-ом из сервиса?
...
Рейтинг: 0 / 0
WCF и ORM
    #39135392
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlivaНу тогда и прослойку репозиторий можно убрать.

нет, не надо. в репозитории как раз и спрятан DbContext и детали ОРМ (раз с ней работаете).

SlivaРаботать с DbContex-ом из сервиса?

это путь в "баттонклик наше все". однозначно нет
...
Рейтинг: 0 / 0
25 сообщений из 82, страница 3 из 4
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF и ORM
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]