我已經贏得與實體框架的形式的應用程序。在我的DbContext中,我有兩個實例:表;列。在我的數據訪問層我有以下代碼真正的通用實現
public static class DataLoader
{
private static WdmEntities _context;
public static List<T> GetTable<T>() where T : class
{
List<T> res = new List<T>();
using (_context = new WdmEntities())
{
try
{
res = _context.Set<T>().ToList();
}
catch
{
}
}
return res;
}
}
在Form.cs
我有以下的
availableTablesListBox.+= availableTablesListBox_SelectedIndexChanged;
void availableTablesListBox_SelectedIndexChanged(object sender, EventArgs e)
{
//here i need to write code, that call GetTable<T> from DataLoader
//according to the SelectedIndex of availableTablesListBox
}
事件處理程序,但我可以寫(不是真的通用)
if (availableTablesListBox.SelectedIndex == 1)
myDataGrid.DataSource = DataLoader.GetTable<tables>();
else
myDataGrid.DataSource = DataLoader.GetTable<columns>();
我想要寫一行代碼
myDataGrid.DataSource = DataTable.GetTable<WHAT WRITE HERE>();
「availableTablesListBox」的數據源是什麼? – SynerCoder