Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / entity framework: self tracking entities - навигация на клиентской стороне / 4 сообщений из 4, страница 1 из 1
14.10.2011, 18:21
    #37483006
Bob Dylan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
entity framework: self tracking entities - навигация на клиентской стороне
допустим, есть таблица "клиент", есть несколько связанных с ней других таблиц, например, клиент- языки клиента- код языка, клиент- настройки клиента- прочая ерунда, так вот в таблице "клиент" и прочих есть столбцы "изменено пользователем", "изменено тогда-то", когда сохраняется сущность "клиент", то "руками" передаётся имя пользователя и время изменения,
таким образом, в самой таблице "клиент" значения для столбцов без проблем изменяются при измении самой сущности,

хотелось бы , чтобы при изменении таблицы "клиент" автоматически менялись бы и значения в столбцах "изменено пользователем" / "изменено тогда-то" тех изменённых сущностей, которые с клиентом связаны, например, "языки клиента" или "настройки клиента"

могу себе представить, что нужно как-то пройти по графу "клиент" через NavigationProperties и посмотреть, находятся ли связaнные сущности в изменённом состоянии, если да, то изменить значения в столбцах "изменено пользователем" / "изменено тогда-то" и вернуть граф "клиент" для сохранения


кто-то с таким сталкивался? есть решения - какие грабли?
...
Рейтинг: 0 / 0
15.10.2011, 11:19
    #37483409
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
entity framework: self tracking entities - навигация на клиентской стороне
Bob Dylanкто-то с таким сталкивался? есть решения - какие грабли?
Разумеется. Светлая мысль о логировании изменений в базе рано или поздно приходит в голову любому программисту баз данных
...
Рейтинг: 0 / 0
15.10.2011, 19:36
    #37483695
Bob Dylan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
entity framework: self tracking entities - навигация на клиентской стороне
не было на месте тех, кто код писал- некого было спросить: все в отпусках, а я лишъ неделю назад на это место пришёл-

просто то, что увидел, какая-то ерунда: сущность загружается а ля eager loading, потом что-то меняется на клиенте, и чтобы сущность сохранить, из графа удаляется часть связанных сущностей, потом , сооответсвтвенно следует save, похоже на то, что косяки связаны с тем, что используются self tracking entities

по поводу "логирования"- это не совсем то, что нужно: речь идёт не о полном аудите изменений, а лишь о "чистом" отслеживании последнего изменения
...
Рейтинг: 0 / 0
07.11.2011, 18:59
    #37514955
Bob Dylan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
entity framework: self tracking entities - навигация на клиентской стороне
решение найдено, в основе лежит идея итератора:
http://blogs.msdn.com/b/adonet/archive/2010/06/02/working-with-sets-of-self-tracking-entities.aspx

там же , внизу страницы, указано небольшое улучшение с точки зрения производительности ( List<T> vs. HashSet<T>)
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / entity framework: self tracking entities - навигация на клиентской стороне / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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