Невозможно перейти через контекст данных - PullRequest
0 голосов
/ 04 ноября 2011

Я хочу сравнить через 2 информации, один - ввод пользователя, а второй - ID администратора в базе данных. В моем проекте я использую WCF Риа. я создал один автоматически сгенерированный класс обслуживания домена, и был автоматически сгенерирован код для извлечения всего в tblAdmin. я загружаю данные таким образом ::

        var context = new OrganizationContext();
        var x = context.tblAdmins;
        context.Load(context.GetTblAdminsQuery());
        cb1.ItemsSource = x;

он может загружаться таким образом, но я не могу получить x.adminID с этим. так что я попробовал это ::

        foreach (var admin in x)
        {
            cb1.Items.Add(admin.adminID);
        }

но не удалось ... могу ли я знать, возможно ли копаться в данных без foreach или что-то не так в моем коде ??

1 Ответ

1 голос
/ 05 ноября 2011

Похоже, проблема в том, что вызов context.Load является асинхронным - для получения результата вам нужно передать обратный вызов и получить ваши данные:

context.Load(context.GetTblAdminsQuery(), LoadCompleted, null);

и:

public void LoadCompleted(LoadOperation<YOUR_ENTITY_TYPE> op)
{
    foreach(var item in op.Entities)
    {
        //item is your entity, you can get item.adminID
    }
}
...