|
WCF и ORM
|
|||
---|---|---|---|
#18+
Если тема где то раскрыта, то ткните. Изучаю WCF. Нарисовал себе задачу: wcf сервис работает с БД. Хочу работу с БД сделать через ORM. Предполагаемая архитектура солюшена - 3 проекта: библиотека с контрактами, хост(реализует контракт) и предоставляет сервис, клиент(потребляет сервис). 1. Правильно ли я разделил ответственность? Может для данной задачи есть более правильная архитектура? 2. Как работать с ORM? Нужно пометить классы Entity как [DataMember]. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 13:33 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
WCF и ORM могут иметь одну точку соприкосновения - ISession/DBcontext на запрос. Больше эти две темы никак не пересекаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 13:43 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
В контракте есть сложные типы. К примеру есть метод, который возвращает IEnumerable<Car>. Этот класс должен быть описан и в сервисе, и в клиенте. Меня интересует как сделать отдельно библиотеку контрактов, чтобы избежать дублирование кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 14:00 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaВ контракте есть сложные типы. К примеру есть метод, который возвращает IEnumerable<Car>. Этот класс должен быть описан и в сервисе, и в клиенте. Меня интересует как сделать отдельно библиотеку контрактов, чтобы избежать дублирование кода. А причем тут вообще ORM? Пока только все что Вы описываете - чистой воды импелементация WCF сервиса. Каким боком контракты относятся к ORM? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 14:05 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
ой, поправка 2. Как работать с ORM? Нужно пометить классы Entity как [DataMember][DataContract]. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 15:06 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Slivaой, поправка 2. Как работать с ORM? Нужно пометить классы Entity как [DataMember][DataContract]. Да, а еще есть OperationContractAttribute и ServiceContractAttribute. Про всех про них стОит почитать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 15:50 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Axeleron, да не то. Зайду с другой стороны. Есть такое решение, что в контракте(отдельная сборка) у нас есть контракт и класс([DataContract]). У класса([DataContract]), есть еще атрибуты валидации. Правильно ли размещать валидацию в контракте? Если нет, тогда где? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 19:34 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaЕсть такое решение, что в контракте(отдельная сборка) у нас есть контракт и класс([DataContract]). У класса([DataContract]), есть еще атрибуты валидации. Правильно ли размещать валидацию в контракте? Если нет, тогда где? Атрибутам валидации в контракте я, считаю, не место. Лучше его оставить чистым и сделать decoupling между уровнем сервисов, DAL и морды. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 19:40 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Axeleron, Что такое decoupling? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 23:49 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaЧто такое decoupling ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 13:17 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
AxeleronSlivaЧто такое decoupling ? ниасилил ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 15:54 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Видится так: использовать DTO и Automapper ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 15:56 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaВидится так: использовать DTO и Automapper Дублирование классов не избежать ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 15:57 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
а если просто сервисеРеференсе? и никакого дублирования. прокси кодогенерится студией. а на клинской стороне (т.к. партиал) еще и расширение возможно ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:04 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Slivaиспользовать DTO я как-то спрыгнул с этого подхода ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:05 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawSlivaиспользовать DTO я как-то спрыгнул с этого подхода Чем не устроил? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:18 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Axeleronkmawпропущено... я как-то спрыгнул с этого подхода Чем не устроил? я сильно фанатично к нему подошел. и весь domain маппил в DTO с одной единственной целью - что бы через "веб-сервис". это имело негативные последствия ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:21 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawAxeleronпропущено... Чем не устроил? я сильно фанатично к нему подошел. и весь domain маппил в DTO с одной единственной целью - что бы через "веб-сервис". это имело негативные последствия Которые выражались в написании однообразного кода или в чем? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:23 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawAxeleronпропущено... Чем не устроил? я сильно фанатично к нему подошел. и весь domain маппил в DTO с одной единственной целью - что бы через "веб-сервис". это имело негативные последствия хотя для веб-сервиса, может и оправдано. но для WCF точно перебор ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:23 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Axeleronkmawпропущено... я сильно фанатично к нему подошел. и весь domain маппил в DTO с одной единственной целью - что бы через "веб-сервис". это имело негативные последствия Которые выражались в написании однообразного кода или в чем? да ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:23 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawkmawпропущено... я сильно фанатично к нему подошел. и весь domain маппил в DTO с одной единственной целью - что бы через "веб-сервис". это имело негативные последствия хотя для веб-сервиса, может и оправдано. но для WCF точно перебор местами подрихтовать циклические ссылки - и коробочный сериализатор прекрасно domain отображает в то что надо. а для WinForms еще и INotifyChanged и BindingList ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:27 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawAxeleronпропущено... Которые выражались в написании однообразного кода или в чем? да То есть по сути Вы предлагаете tightly coupled решение, когда Ваш фронт енд зависит всецело от контракта? Могу себе предсавить как Ваш проект сыплется на куски и волосы седеют как только контракт меняется... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:28 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawkmawпропущено... я сильно фанатично к нему подошел. и весь domain маппил в DTO с одной единственной целью - что бы через "веб-сервис". это имело негативные последствия хотя для веб-сервиса, может и оправдано. но для WCF точно перебор А что Вы под WCF понимаете тогда в данном конкретном вопросе, заданном топикстартером? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:29 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
AxeleronМогу себе предсавить как Ваш проект сыплется на куски и волосы седеют как только контракт меняется... пока все нормально. тьфу, тьфу... Axeleronфронт енд зависит всецело от контракта а какие еще варианты, конечно зависит. хоть явно (ссылка на dll с контрактом), хоть через кодогенерацию ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:31 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawпока все нормально. тьфу, тьфу... Если только гарантированно контракт сервисов никогда не поменяется, то, может, и ок. Но все равно расширять доменный объект, используемый в приложении, рано или поздно приходится. А имплементируете Вы его все равно на основе интерфейса контракта. kmawа какие еще варианты, конечно зависит. хоть явно (ссылка на dll с контрактом), хоть через кодогенерацию Еще loosely coupled решение, используя DTO паттерн. Тогда Вам просто маппер поправить, если контракт меняется. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:37 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
AxeleronТогда Вам просто маппер поправить, если контракт меняется. я не вижу тут преимуществ. править - ключевое слово ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:39 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
AxeleronНо все равно расширять доменный объект, используемый в приложении, рано или поздно приходится если сильно, то это будет уже реальные DTO, а не только для передачи через веб-сервис, там и проекция и запрос меняетя. а чуть-чуть - можно и в партиал на клиенте ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:41 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawа чуть-чуть типа галочку для гриды добавить ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:43 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawя не вижу тут преимуществ. Вам просто повезло, что Вы еще просто не попадали в такие ситуации. Везение не носит системного характера. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:46 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawа чуть-чуть - можно и в партиал на клиенте Чуть-чуть уберут пару свойств или имя/тип свойства поменяют в контракте Ваши партнеры - тогда мы и поговорим :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:48 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Axeleronkmawя не вижу тут преимуществ. Вам просто повезло, что Вы еще просто не попадали в такие ситуации. Везение не носит системного характера. смотрите, WCF - это не какой-то внешний сервис, это Ваше, даже, возможно, в одном солюшн. так? и как там может что-то внезапно измениться? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:50 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Axeleronkmawа чуть-чуть - можно и в партиал на клиенте Чуть-чуть уберут пару свойств или имя/тип свойства поменяют в контракте Ваши партнеры - тогда мы и поговорим :) это подстава я не знаю технологии, которая с этим может справиться ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:51 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawсмотрите, WCF - это не какой-то внешний сервис, это Ваше, даже, возможно, в одном солюшн. так? и как там может что-то внезапно измениться? Давайте брать наиболее часто встречаемый общий случай. Например, сервис сторонней компании для букирования авиабилетов или отелей, обработка операций интернет-банкинга. Вот изменилось что-то, и Вы получили оповещение, что у Вас неделя на внесение изменений. Все бросать и срочно начинать все править в приложении? Потому что Вы точно значете, что изменения сервиса приведут к тому, что Ваш сайт обрушится. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:56 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawAxeleronпропущено... Чуть-чуть уберут пару свойств или имя/тип свойства поменяют в контракте Ваши партнеры - тогда мы и поговорим :) это подстава я не знаю технологии, которая с этим может справиться Вы просто получаете новый контракт от поставщика сервисов. Пользуйтесь :) Одно дело когда Вам нужно поменять один маппер класс, а другое когда проверять весь солюшн на соответствие контракту севриса. Чувствуете разницу? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:58 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Axeleronkmawсмотрите, WCF - это не какой-то внешний сервис, это Ваше, даже, возможно, в одном солюшн. так? и как там может что-то внезапно измениться? Давайте брать наиболее часто встречаемый общий случай. Например, сервис сторонней компании для букирования авиабилетов или отелей, обработка операций интернет-банкинга. Вот изменилось что-то, и Вы получили оповещение, что у Вас неделя на внесение изменений. Все бросать и срочно начинать все править в приложении? Потому что Вы точно значете, что изменения сервиса приведут к тому, что Ваш сайт обрушится. часть откажет - не работают/изменились внешние сервисы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 19:00 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Axeleronkmawпропущено... это подстава я не знаю технологии, которая с этим может справиться Вы просто получаете новый контракт от поставщика сервисов. Пользуйтесь :) Одно дело когда Вам нужно поменять один маппер класс, а другое когда проверять весь солюшн на соответствие контракту севриса. Чувствуете разницу? чувствую, спасибо за критику. но это всплыло в нашем разговоре, не имеет отношения, я думаю, к изначальному посылу ТС ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 19:03 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawчасть откажет - не работают/изменились внешние сервисы. Ну если для Вас некритично, что из-за этого откажет часть Вашего приложения... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 19:03 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawчувствую, спасибо за критику. но это всплыло в нашем разговоре, не имеет отношения, я думаю, к изначальному посылу ТС Отчего же не имеет? 18573684 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 19:04 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawAxeleronпропущено... Вам просто повезло, что Вы еще просто не попадали в такие ситуации. Везение не носит системного характера. смотрите, WCF - это не какой-то внешний сервис, это Ваше, даже, возможно, в одном солюшн. так?даже если наше, то стоит смотреть на него как на отдельный сервис, который завтра возможно надо будет прикрутить к другой системе ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 21:10 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
мозг болит Напиши, пожалуйста, архитектуру солюшена с учетом орм. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 21:36 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Slivaмозг болит Напиши, пожалуйста, архитектуру солюшена с учетом орм. отдельный проект. в нем не должно быть ничего, кроме сервиса ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 21:42 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
такая схема на сколько пригодна? солюшен --Contracts (контракты, сложные типы) --DAL (EF, репозитирий) --WCFservice (реализация контракта) --Host --Client ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 21:59 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Возвращаясь к теме... Мой первый "блин". Покритикуйте, пожалуйста. По структуре, коду, по всему. Дельные советы очень приветствуются. архив с проектом ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 22:48 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaВозвращаясь к теме... Мой первый "блин". Покритикуйте, пожалуйста. По структуре, коду, по всему. Дельные советы очень приветствуются. архив с проектом зачем rat? GitHub есть ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 22:50 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
то, что бросается в глаз сразу: Код: c# 1.
инжектить в репозиторий, используя IoC, обеспечить время жизни ContextDB, например, "на запрос" Код: c# 1.
из репозитория выносить в датасервис ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 23:27 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
и без аутентификации как-то не интересно ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 23:30 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawинжектить в репозиторий, используя IoC, обеспечить время жизни ContextDB, например, "на запрос" Думал об этом. Для понимания самой сути решил делать без IoC. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 23:39 |
|
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 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmaw SlivaРаботать с DbContex-ом из сервиса? это путь в "баттонклик наше все". однозначно нет Подождите, у нас есть 2 репы, у которых должен быть один контекст. Получается, инициализируем и сейвим контекст в сервисе? т.е. Код: c# 1. 2. 3.
Если нет, то тогда как сервис должен работать с репами? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 17:00 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
И в этом случае DbContext будет светиться за пределами DAL. Это же не правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 19:21 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
SlivaИ в этом случае DbContext будет светиться за пределами DAL. Это же не правильно? http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1190871&msg=18567589 кто-то же должен его создать ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 19:51 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmawSlivaИ в этом случае DbContext будет светиться за пределами DAL. Это же не правильно? кто-то же должен его создать Код: 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.12.2015, 20:15 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
Slivakmawпропущено... кто-то же должен его создать Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Оно? лучше, чтобы ContextDB инжектился в репозитории. репозитории инжектились в DataService. DataService инжектились в WCF-сервис. это посредством IoC. а создавать ContextDB можно через behavior WCF-сервиса ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 20:25 |
|
WCF и ORM
|
|||
---|---|---|---|
#18+
kmaw лучше, чтобы ContextDB инжектился в репозитории. репозитории инжектились в DataService. DataService инжектились в WCF-сервис. это посредством IoC. а создавать ContextDB можно через behavior WCF-сервиса кто бы все это еще и разжевал), желательно, схематично. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 21:55 |
|
|
start [/forum/topic.php?all=1&fid=19&tid=1396810]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
103ms |
get tp. blocked users: |
1ms |
others: | 283ms |
total: | 555ms |
0 / 0 |