Мы используем пользовательский слой доступа к данным для чтения наших объектов домена (клиентов, заказов и т. Д.) Из базы данных.Этот уровень доступа к данным не поддерживает разбиение на страницы или сортировку.
Мы хотим опубликовать части данных (например, клиентов) на клиенте Silverlight, используя службы WCF RIA.В клиенте мы хотим отобразить сетку данных с подкачкой.
Теперь в нашей RIA DomainService у нас будет такая функция, как
IQueryable<Customer> GetCustomers()
{
List<Customer> customers = OurPersisteceLayer.GetAllCustomers();
return customers.AsQueryable()
}
Эта функция будет читать все записи клиентов.из базы данных.Я предполагаю, что в этом сценарии RIA не может выполнять какую-либо форму подкачки на стороне сервера. Мы всегда будем читать всех клиентов при вызове функции.
Мои вопросы:
Будет ли RIA кэшироватьсписок клиентов в клиенте (и вызывать GetCustomers только один раз), или он будет выполнять операцию каждый раз, когда пользователь переходит на следующую страницу в сетке данных?
В моем сценарии для выполнения операции может потребоваться 5 секунд, что было бы приемлемо, если бы она была выполнена один раз, но не в том случае, если она занимает 5 секунд каждый раз, когда пользователь хочет перейти на новую страницу в сетке данных.
Есть ли какое-нибудь хорошее решение / шаблон / метод, который можно использовать при использовании RIA для доступа к устаревшему уровню доступа к данным, и вы хотите использовать пейджинг?