0

msdn 文档中,建议不要将控件直接绑定到对象查询:

我们建议您不要将控件直接绑定到 ObjectQuery。相反,将控件绑定到 Execute 方法的结果。

我还在这里阅读了一些关于 SO 的答案,这些答案推荐它并且不绑定到模型本身的实例。尽管如此,我还是找不到为什么不推荐它,因为到目前为止我所做的所有测试似乎都运行良好。

谁能阐明为什么我不应该将这些对象用于绑定的原因?

4

2 回答 2

1

如果您点击该信息下方的链接,他们会给出解释:

我们建议您不要将控件直接绑定到 ObjectQuery。相反,将控件绑定到 Execute 方法的结果。以这种方式绑定可以防止在绑定期间多次执行查询。

您不希望在绑定期间执行查询。我不希望绑定更新在我不知情的情况下触发数据库查询。此外,我发现绑定到实体会直接导致其他问题。通过保留对象,您还需要保留 ObjectContext。通常,您应该使 ObjectContext 尽可能短,最好在 using 块中。

于 2012-07-05T13:31:37.170 回答
0

对于“我为什么不应该将控件绑定到 ObjectQuery”的问题:

从这里引用:

为确保数据源是最新的,您可能需要使用 Execute 方法再次执行查询。这会将控件绑定到一个新的 ObjectResult。

如果您不调用Execute,那么与执行后查询实际返回的内容相比,您的 UI 中显示的内容可能不是最新的。当然,当数据库发生更改时,绑定不会自动更新。

第二点:

我们建议您不要将控件直接绑定到 ObjectQuery。相反,将控件绑定到 Execute 方法的结果。以这种方式绑定可以防止在绑定期间多次执行查询。

于 2012-07-05T13:31:29.687 回答