Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
Есть дабвсиэф сервис (или веб-служба, не важно), который через Linq2SQL вытаскивет шота и возвращает это шота как Enumerable<T>. Есть методы обновляющие это шота, ну в общем все по масадэне сделано как тута описано: ms-help://MS.MSDNQTR.v90.ru/wd_linqsql/html/c3133d53-83ed-4a4d-af8b-82edcf3831db.htm Все прекрасно показывет, только не могу всосать, как мне энти шота на удаленном клиенте тракить на предмет чанджа, дабы опосля вернуть на дабвсиэф для апдэйта? То есть, юзвер например удалил одну шота, одну добавил и еще одну изменил. В DataSet это GetChanges, а тута шо? Вот читаю значить масадэну: ms-help://MS.MSDNQTR.v90.ru/wd_linqsql/html/854a1cdd-53cb-45f5-83ca-63962a9b3598.htm На рисунке в статье в презентатон лаере написЯно: Local change tracking *** no DataContext, а где взять этот Local change tracking или как релизовать ни слова. Как просты были DataSet, аж жуть как хочется вернутся, но мода берет свое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 18:15 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
Да еще, судя по примера из масадэны, на сервере для одного шота должны быть четыре (и более) метода: три на чэндж, остальные на выборку. То есть, если юзверь изменил тра шота, как в посте выше, ему нужно вызвать три разных метода для обновления всех шота. Объясните плиз, как это сделать в одной транзакции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 18:18 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
У кого масадэна локально не установлена, вот рисунок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 18:23 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
Опа.. никто не пробовал редактровать коллекции Linq полученные от веб-службы в WinForms/WPF? Или DataSet и DataTable до сих пор остаются единственным нормальным средством для работы с отсоидененными данными? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2010, 16:42 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
ответил на gotdotnet.ru: http://www.gotdotnet.ru/forums/17/134185/631780/#post631780 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2010, 19:52 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
Яснее не стало, все что вы описали в "ответе" и так написано в msdn в приведеных ссылках. Интерсиует не теория, а реализация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2010, 02:46 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
aster.x, кароче, чтобы было понятно о чем спрашивал тогда: как реализовать этот самый локальный наблюдатель того, что изменилось в коллекции по налогии с GetGhanges от DataSet. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2010, 02:52 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
Кароче, это ответ на "То есть, если юзверь изменил тра шота, как в посте выше, ему нужно вызвать три разных метода для обновления всех шота. Объясните плиз, как это сделать в одной транзакции?" и дополнительно к этому небольшое пояснение к справочной информации из msdn. При такой схеме работы, когда дата-контекст находится на удаленном сервисе, на клиенте лучше изменения не накапливать, чтобы не пришлось возиться с их треканьем. В простых случаях клиент сам легко может распознать род изменения по непосредственному действию пользователя (например, юзер выполнял удаление некого "шота", - значит изменение - это удаление). Если все-таки надо на удаленном клиенте обеспечить длительную автономность работы с данными, лучше поискать готовые либы. Хотя можно сделать и собственную прослойку-кэш. DataSet и DataTable проблемы избежать не помогут, если архитектура будет такая же распределенная. То есть, если на сервисе будут находится датасеты/дататейблы, клиент отхватит в точности те же самые проблемы, что и с Linq2SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2010, 12:57 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
Вообще, настолько ли существенно в вашей задаче длительно хранить данные на клиенте, что аж прямо необходимо разрабатывать механизм треккинга изменений? Нельзя сразу по получении результата от пользователя сливать изменения на сервер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2010, 13:18 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
Я понял концепцию, спасиба. То есть, как только в WPF форме пользователь поменял нечто сразу дергаем веб-службу и передаем данные. Но мне кажется это не очень хорошо, так как допустим пользователь поменял значение в одном столбце (свойстве класа) сразу передали, потом пользователь поменял другой столбец, опять передача. Так получается, на каждый чих? DataSet и DataTable проблемы избежать не помогут, если архитектура будет такая же распределенная. То есть, если на сервисе будут находится датасеты/дататейблы, клиент отхватит в точности те же самые проблемы, что и с Linq2SQL. Нет, я имел ввиду, DataSet на клиентах (на клиентах) накапливает изменения. На веб-службу отсылается только изменения, которые веб-служба фиксит. Собствено вот как, на службе генерятся типизированные DataSet, посредством которых данные возвращаются клиенту. Соответвено клиент через WSDL имеет эти же датасеты у себя (без табличных адаптеров) и может связывать с компонентами на вин-форме через bindingSource. С этим проблем нет, все прекрасно работает в WinForms и SOAP. Теперь вот мода новая, WPF, WCF, Linq соответствено. И главная проблема стала в том, что не понятно как эти изменения накапливать на клиенте. Я думал есть готовое решение как в DataSet (кстати DataSet не только изменения передает, но еще и Original Value, что для решения оптимистического паралелизма очень хорошо на сервере). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 14:47 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
aster.xВообще, настолько ли существенно в вашей задаче длительно хранить данные на клиенте, что аж прямо необходимо разрабатывать механизм треккинга изменений? Нельзя сразу по получении результата от пользователя сливать изменения на сервер? Модель примерно такая - форма с гридом и текстоксами, кнопка сохранить. По кнопке сохранить на сервер отправляются все изменения сделанные после открыти формы или предыдущего сохранения. ну модель собствено стандартная для всех приложений, ворд и эксель так же с документами работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 14:51 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
Идеи закончились? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2010, 10:29 |
|
||
|
Объясните, как создать локальный change tracking?
|
|||
|---|---|---|---|
|
#18+
Для ручной работы - Castle Dynamic Proxy . NHibernate может сделать это за вас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2010, 10:36 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=49&tid=1350964]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 394ms |

| 0 / 0 |
