Silverlight Ria Services - обновляет серверную часть записей (контекст домена) при запросе записи - PullRequest
1 голос
/ 25 июня 2010

Я пытаюсь реализовать функциональность в контексте домена моего клиента, где я хочу работать с каждой из записей базы данных, прежде чем они будут отправлены клиенту.Чтобы создать простую иллюстрацию, предположим, что я хотел изменить поле в своей таблице клиентов с именем LastAccessed и установить его с текущим DateTime.Вот что я попробовал в своем классе обслуживания домена:

    public IQueryable<Customer> GetCustomers()
    {            
        foreach (Customer c in this.DataContext.Customers)
        {
            c.LastAccessed = DateTime.Now;
        }
        DataContext.SubmitChanges();

        return this.DataContext.Customers;
    }

Этот тип работы работает, потому что он обновляет дату LastAccessed до того, как запись возвращается клиенту, но обновляет ВСЕ записи клиента, а не толькоклиент запрашивает.В моем приложении Silverlight на стороне клиента я применяю запрос, но при использовании отладки во время выполнения я вижу, что он обновляет всех клиентов, однако, поскольку я использую запрос только на стороне клиента, только запрошенные клиенты возвращаются и передаются по проводам.

Если я смотрю свою базу данных с помощью SQL-профилировщика, я вижу, что он фактически запрашивает все записи, а затем запрашивает только запрашиваемые записи.Так, где бы я перехватил возвращаемые записи и обновил только их время LastAccessed.

Итак, в двух словах, мне нужно найти способ получить доступ только к тем записям, которые будут в конечном итоге возвращены, и на этом этапе в коде, который яКажется, есть весь стол.Я знаю, что могу передать конкретный идентификатор клиента и запрос, а затем работать с этими результатами, но я хочу, чтобы запрос получал гибкость от клиента, чтобы, если они заполняют сетку на основе некоторых критериев поиска, таких как "State ==«NY» - все записи, возвращаемые для заполнения результатов сетки, приводят к обновлению поля LastAccessed.Любая помощь будет оценена!Спасибо!

1 Ответ

0 голосов
/ 29 июня 2010

Я наконец получил ответ на форуме Silverlight, вы можете найти ответ, который я получил здесь:

Форум Silverlight

...