Я хотел бы иметь возможность загружать несколько наборов сущностей RIA за один вызов без объединения/вложения нескольких небольших операций LoadOperations вместе, чтобы они загружались последовательно.
У меня есть несколько страниц, на которых есть несколько выпадающих списков. Эти поля со списком заполняются статическими значениями из базы данных (например, значениями состояния).
Прямо сейчас я предварительно загружаю эти значения в свою виртуальную машину с помощью одного метода, который объединяет ряд операций LoadOperations для каждого типа, который я хочу загрузить. Например:
public void LoadEnums() {
context.Load(context.GetMyStatusValues1Query()).Completed += (s, e) =>
{
this.StatusValues1 = context.StatusValues1;
context.Load(context.GetMyStatusValues2()).Completed += (s1, e1) =>
{
this.StatusValues2 = context.StatusValues2;
context.Load(context.GetMyStatusValues3Query()).Completed += (s2, e2) =>
{
this.StatusValues3 = context.StatusValues3;
(....and so on)
};
};
};
};
Хотя это работает нормально, это кажется немного неприятным. Кроме того, я хотел бы знать, когда завершается последняя операция загрузки, чтобы я мог загрузить любой объект, над которым я хочу работать после этого, чтобы эти перечисляемые значения правильно разрешались в элементах формы, таких как поля со списком и списки. (Я думаю) Я не могу сделать это легко, не создавая делегата и не вызывая его по завершении последней операции загрузки.
Итак, мой вопрос: кто-нибудь знает лучший шаблон для использования, в идеале, когда я могу загрузить все свои статические наборы сущностей в одну операцию LoadOperation?