我不知道如何使用DbContext在Wpf数据控件中将数据显示为ListView,ListBox或DataGrid。
我正在使用数据库第一种方法,VS2012。
我有一个包含一个表的数据库(最简单的情况)。
然后我添加了一个ADO Net实体数据模型,它为我的项目添加了几个类,其中包括OneTableEntities:DbContext:
现在我在Wpf窗口中有一个ListBox,我将listbox.ItemsSource绑定到什么?我试过“listBox.ItemsSource = context.MyTables;”但是我得到了这个错误:
直接将数据绑定到商店查询(DbSet,DbQuery,DbSqlQuery) 不支持。而是使用数据填充DbSet,例如 在DbSet上调用Load,然后绑定到本地数据。对于WPF绑定 到DbSet.Local。对于WinForms绑定到DbSet.Local.ToBindingList()。
加载操作在哪里?,如何填充本地商店?
答案 0 :(得分:2)
如错误消息所示,您无法将控件绑定到查询。使用ToList()执行数据库查询并将结果保存到内存中集合。然后,您将能够将此集合绑定到列表框:
listBox.ItemsSource = context.MyTables.ToList();
您可以直接在错误消息中找到另一个选项:
context.MyTables.Load();
listBox.ItemsSource = context.MyTables.Local;