【问题标题】:Is it possible to have TreeView load node on demand with EntityFramework & MVVM?是否可以使用 EntityFramework 和 MVVM 按需加载 TreeView 节点?
【发布时间】:2025-12-22 23:25:10
【问题描述】:

所以我有一个头表,Client,每个客户都有一些客户。

我正在使用实体框架来查询数据。

TreeView显示时,只会显示Clients,然后直到用户展开Client节点,才会查询其Customers。

是否可以在 MVVM + Linq 中做到这一点?

我可以做一些动态的事情,比如点击第一个节点和触发事件进行查询,动态添加树项等。

但我想知道这是否有可能以更简单的方式做到这一点? 就像利用 Linq、数据绑定等的延迟加载一样?有可能吗?

【问题讨论】:

    标签: wpf silverlight linq entity-framework mvvm


    【解决方案1】:

    绝对有可能,但如何做到这一点取决于许多不同的因素,这些因素特定于您的项目。

    我要做的是创建一个自定义的TreeViewItem 类,该类采用您的实体(可能通过构造函数),然后当它的Items 属性被调用时,它可以调用您的实体的Clients 导航属性。如果您正确配置了延迟加载,那么实际的数据库查询就会在此处发生。

    如果您有 10 个节点,并且用户只扩展了节点 2,那么只会触发该节点的查询。

    【讨论】:

      最近更新 更多