如何从实体模型中获取列数据
本文关键字:获取 数据 实体模型 | 更新日期: 2023-09-27 18:06:38
我试图获得一列数据,并把它塞进一个组合框,但不能让它工作。有人能帮我一下吗?
代码:test_DataEntities db = new test_DataEntities();
DataGrid test = new DataGrid();
test.ItemsSource = db.testTbls;
cmbWorkOrder.ItemsSource = test.Columns[2];
您可以尝试:
cmbWorkOrder.ItemsSource = (test.ItemsSource as IEnumerable<testTblEntity>)
.Select(t => t.PropertyToDisplayInComboBox);
返回一个IEnumerable<T>
,其中T
是您想要在组合框中显示的属性类型(例如string
)。我希望绑定到test.ItemsSource
将执行查询以从DB中获取实体到内存中,然后绑定到cmbWorkOrder.ItemsSource
仅从内存集合中读取其数据,并且不会再次命中数据库。虽然我肯定不是。
编辑
也许这样更简洁一些:
test_DataEntities db = new test_DataEntities();
DataGrid test = new DataGrid();
List<testTblEntity> list = db.testTbls.ToList(); // executes the query
test.ItemsSource = list;
cmbWorkOrder.ItemsSource = list.Select(t => t.PropertyToDisplayInComboBox);
您现在可以控制查询何时实际执行。在第一个例子中,它将取决于绑定引擎何时绑定网格,何时将组合框绑定到您的数据,这可能取决于XAML中控件的顺序(假设它是WPF)。