0

我正在尝试使用 dataContext 来填充组合框,但总是一无所获:

EntityQuery<Tests> testQ = myDomainContext.GetTestQuery().Where(t => t == 5);
LoadOperation<Tests> loadOp = myDomainContext.Load(testQ)
comboxBoxTest.ItemSource = loadOp.Entities.Select(t => t.Name).Distinct().ToList();

有人可以告诉我这里有什么问题吗?

4

2 回答 2

1

您可能不加载实体。尝试

EntityQuery<Tests> testQ = myDomainContext.GetTestQuery().Where(t => t == 5);
LoadOperation<Tests> loadOp = myDomainContext.Load(testQ);
loadOp.Completed += (o, e) =>
    {
        comboxBoxTest.ItemSource = loadOp.Entities.Select(t => t.Name).Distinct().ToList();
    };

或者

myDomainContext.Load(testQ, new Action<LoadOperation<Tests>>(result =>
    {
        comboxBoxTest.ItemSource = result.Entities.Select(t => t.Name).Distinct().ToList();
    }), null);
于 2012-06-28T05:07:21.300 回答
1

您可能知道,大多数操作RIA都是异步的。您应该在执行查询时意识到这一点。
由于这些原因,您必须使用回调方法(@Zabavsky 的答案很好)。另外,我略微建议您使用MVVM模式而不是代码隐藏混乱。这将使您的代码和逻辑更清晰。

于 2012-06-28T09:13:49.860 回答