Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WCF, Web Services, Remoting Новый топик    Ответить
 Можно ли в локальной базе хранить серверные сущности?  [new]
Monochromatique
Member [заблокирован]

Откуда:
Сообщений: 1936
Есть сервис, который выставляется наружу через WCF.
Соответственно - на клиенте генератором создаются классы, повторяющие серверные.
Хочется хранить локально сразу серверные объекты, чтобы не конвертировать их туда-сюда (как происходит сейчас).

Но чтобы их (объекты вообще) хранить локально - их нужно обвешать различными атрибутами, тег "Table" повесить на класс и так далее.

Вопрос - как это и сделать и правильный ли это путь вообще? Пробую через partial - не получается..
12 ноя 13, 12:43    [15114399]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в локальной базе хранить серверные сущности?  [new]
Monochromatique
Member [заблокирован]

Откуда:
Сообщений: 1936
Да и что там классы - надо на поля класса повесить атрибут [Column].
Свойства уже все определены в сгенерированном файле.

Соотвественно, я не могу их указать в partial классе.

Что делать?
12 ноя 13, 12:55    [15114508]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в локальной базе хранить серверные сущности?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26878
Monochromatique, отделять доменную модель (бизнес-объекты) от DTO. Реализовать шаблон Gateway, что скроет от клиента то, что он какой-то там сервис дёргает, тогда можно будет заменить генерацию классов на что угодно.
12 ноя 13, 15:13    [15115808]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в локальной базе хранить серверные сущности?  [new]
RomanH
Member

Откуда:
Сообщений: 539
Monochromatique,

я для этих целей я использую общие сборки типа Business.Entities.dll и Service.Contracts.dll на сервере и на клиенте.
и не генерю прокси сервисконтрактов и датаконтрактов.
возможно вам такой вариант подойдет
12 ноя 13, 22:01    [15118159]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в локальной базе хранить серверные сущности?  [new]
Monochromatique
Member [заблокирован]

Откуда:
Сообщений: 1936
skyANA
Monochromatique, отделять доменную модель (бизнес-объекты) от DTO. Реализовать шаблон Gateway, что скроет от клиента то, что он какой-то там сервис дёргает, тогда можно будет заменить генерацию классов на что угодно.


Ну как DTO... Не дофига ли доменных моделей получится? Скажем так, сейчас:
POCO-сущности + EF CodeFirst. Эти же POCO сущности и есть DTO.
Вопрос как хранить их на клиенте. Преобразуя их в "локальную" доменную модель иди оставить ту же (серверную).

Честно говоря меня самого смутило мое желание. Получается, что если изменят сущность на сервере и сделать update службе, то может сломаться всё клиентское приложение, в противном же случае - сломается только точка конвертации. Это похоже на шаблон ШЛЮЗ?

Кода больше, но и плюшек намного больше...
13 ноя 13, 02:24    [15118991]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в локальной базе хранить серверные сущности?  [new]
Monochromatique
Member [заблокирован]

Откуда:
Сообщений: 1936
RomanH
Monochromatique,

и не генерю прокси сервисконтрактов и датаконтрактов.


А как же вся мишура, которую генерит генератор кода?? Там её много - кто это сделает за неё??
13 ноя 13, 02:25    [15118995]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в локальной базе хранить серверные сущности?  [new]
RomanH
Member

Откуда:
Сообщений: 539
Monochromatique
RomanH
Monochromatique,

и не генерю прокси сервисконтрактов и датаконтрактов.


А как же вся мишура, которую генерит генератор кода?? Там её много - кто это сделает за неё??


Генерить ничего не надо. Вся эта "мишура" - это код, который вы написали своими руками.Он находится в общих сборках как для сервера так и для клиента.
13 ноя 13, 17:49    [15123791]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в локальной базе хранить серверные сущности?  [new]
SerP1983
Member

Откуда: с Волги
Сообщений: 846
MetadataType? Пример
14 ноя 13, 00:45    [15125196]     Ответить | Цитировать Сообщить модератору
Все форумы / WCF, Web Services, Remoting Ответить