Как лучше всего фиксировать изменения с использованием контекста данных LINQ2SQL в приложении Silverlight с использованием RIA?

У меня есть приложение Silverlight, использующее службы RIA и LINQ2SQL, и в моем приложении Silverlight есть объекты.

Я запрашиваю все записи в таблице (с помощью запроса LINQ с использованием контекста данных) в приложении Silverlight, создаю пользовательский элемент управления для каждого объекта (записи) и помещаю этот объект в элемент управления, потому что информация мне понадобится позже. Позже пользователь вносит изменения в этот объект (хранящийся в элементе управления), и я хочу сохранить его обратно в базу данных.

Моя проблема в том, что когда я иду, чтобы сохранить объект, у меня нет контекста данных для выполнения SubmitChanges. Я не могу прикрепить его к новому контексту, потому что он говорит, что он уже прикреплен.

Что лучше всего подходит для этой ситуации?


person Handleman    schedule 22.10.2009    source источник


Ответы (1)


Создайте новый DataContext, используйте его для получения рассматриваемой записи, внесите в нее изменения и выполните SubmitChanges ().

person Robert Harvey    schedule 22.10.2009
comment
Значит, нет возможности использовать запись, которую я сохранил в элементе управления? Мне нужно получить его снова, скопировать в него содержимое сохраненной записи и на нем SubmitChanges ()? Кажется излишним, поскольку у меня уже есть запись. Запись, которая у меня есть, довольно проста, так что в этом случае это было бы легко, но если бы у меня была сложная запись (объект), ее копирование вскоре стало бы довольно уродливым. - person Handleman; 22.10.2009
comment
Если у вас есть способ привязать запись к данным, вы можете избежать необходимости копировать все значения. Посмотрите здесь: aspfree.com/c/a/Windows-Scripting/ - person Robert Harvey; 22.10.2009