绑定到实体框架

时间:2012-07-05 13:21:33

标签: wpf entity-framework binding

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

  

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

我也在这里阅读了一些推荐它的答案,也没有绑定到模型本身的实例。然而,我无法找到为什么不推荐它,因为到目前为止我所做的所有测试似乎都工作正常。

有人能说清楚我不应该将这些对象用于绑定的原因吗?

2 个答案:

答案 0 :(得分:1)

如果您关注the link below that info,他们会给出解释:

  

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

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

答案 1 :(得分:0)

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

引用from here

  

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

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

第二点:

  

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