![]() |
|
Модераторы: gambit |
![]()
|
|
| Kero |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 10.5.2006 Где: Винница,Украина | | Реал Репутация: нет Всего: 1 |
Привет!
У меня есть многослойное, как бутерброд приложение: Слои: 1. Слой данных. Вмещает в себя модель БД, как edmx файл и оболочку которая использует эту модель как контекст 2. Слой сервиса. WCF сервис лежит рядом с слоем данных и отдаёт жаждущим методы CRUD. Они возращают либо List<МояСущность> либо Сущность как экземпляр класа 3. Прокси слой: Служит клиентской точкой приёма данных 4. Слой интерфейса. Собсна интерфейс EF ObjectContext, как контейнер-контекст нашего общения с базой, имеет славную способность: когда мы меняем значение поля у обьекта: запускаеться делегат который рассказывает контексту мол "Брат, прикинь, обьект изменился! Когда юзер запустит SaveChanges() мы в базе поменяем запись!". Это канеш супер, но если работать с многослойным приложением этот чудесный функционал теряеться так как при изменении значения поля обьекта, обьект не запустит делегат контекста. Тоесть попросту обновить не получиться. В чём соль: Мне нужно на стороне клиента изменить сущность, и каким-то образом заставить слой данных эти изменнения прохавать. Сразу напрашиваеться 2 решения: 1. Идиотское. Хардкодить:
2. Поумней, но я не могу закодить:
Сразу же подмечу: идеи типа создать временный контекст, приатачить сущность и сохранить изменения не подходят. Я должен работать с одним контекстом всё время и для всех клиентов. Тоесть я хочу создать универсальный метод который копирует все поля сущностей в цикле. Убер кодеры - жду помощи, и идей! Проект горит! Награжу плюсами толковые идеи-мне не жалко а вам приятно! |
||||
|
|||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 5 Всего: 62 |
ObjectContext.ApplyPropertyChanges
|
|||
|
||||
| Kero |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 10.5.2006 Где: Винница,Украина | | Реал Репутация: нет Всего: 1 |
Решено. Спасибо
Idsa! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |