解释我的代码将变得更加容易,所以
private void dtSelectorLoad_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(dtSelector.SelectedValue != null ? dtSelector.SelectedValue.ToString() : "I have 0 selected items!");
var query =
from obj in dataEntities.someTable
select obj;
primaryDataGrid.ItemsSource = query.ToList();
}
基本上,基于dtSelector.SelectedValue.ToString();
的值,我需要执行from obj in dataEntities.someTable
,其中someTable
是dtSelector.SelectedValue.ToString();
的值。
我该如何实现?我的头撞在这里的墙上。最终的结果是,当用户单击按钮时,它将使用listBox中当前选择的表中的数据填充dataGrid。
答案 0 :(得分:2)
之所以似乎不可能(并非不可能)的原因是,您所做的与每个编程和数据库原则背道而驰。特别是,关系数据库是在现场条件下查询的,而不是在具有相同模式的多个表之间拆分,我对你说老实话,如果你为我工作了,那末你会被解雇的。天。
但是,如果您坚持这样做,则有两种选择:
Reflection使您可以根据属性名称访问属性。恭喜,您将SQL注入总体上引入了WinForms。
关于所有可能值的简单switch语句,它将请求转发到正确的表。当然,这不能完全扩展到新值,因为您必须重新编译代码以添加新值,但是在这一点上,我们正在抛弃任何一种专业知识。