不能通过数据上下文来预测

时间:2011-11-04 17:34:33

标签: c# silverlight wcf ria wcf-ria-services

我希望通过2个信息进行比较,一个是用户输入,另一个是数据库中的管理员ID。在我的项目中,我正在使用WCF Ria。我确实创建了一个自动生成的域服务类,并且自动生成了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 个答案:

答案 0 :(得分:1)

看起来问题是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
    }
}