是否可以通过EntityFramework& amp;按需使用TreeView加载节点MVVM?

时间:2012-01-25 20:09:02

标签: wpf silverlight linq entity-framework mvvm

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

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

当TreeView显示时,它只显示客户端,然后在用户扩展客户端节点之前,它将查询其客户。

是否可以在MVVM + Linq中执行此操作?

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

但我想知道是否可以更容易地做到这一点? 喜欢利用Linq的延迟加载,数据绑定等?有可能吗?

1 个答案:

答案 0 :(得分:0)

是否可能,绝对,但你如何做到这取决于你的项目特定的许多不同因素。

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

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