所以我有一个标题表,Client,每个客户都有一些客户。
我正在使用实体框架来查询数据。
当TreeView显示时,它只显示客户端,然后在用户扩展客户端节点之前,它将查询其客户。
是否可以在MVVM + Linq中执行此操作?
我可以做一些动态的事情,比如点击第一个节点并点击事件进行查询,动态添加树项目等。
但我想知道是否可以更容易地做到这一点? 喜欢利用Linq的延迟加载,数据绑定等?有可能吗?
答案 0 :(得分:0)
是否可能,绝对,但你如何做到这取决于你的项目特定的许多不同因素。
我要做的是创建一个自定义TreeViewItem
类,它接受您的实体(可能通过构造函数),然后在调用Items
属性时,它可以调用您的实体Clients
导航属性。如果您正确配置了延迟加载,那么实际的数据库查询就会在这里发生。
如果您有10个节点,并且用户只展开了节点2,那么只会触发该节点的查询。