エンティティ フレームワークを使用してフォーム アプリを獲得しています。私の DbContext には、次の 2 つのインスタンスがあります。列。私のdataAccessレイヤーには、次のコードがあります
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>();
1行のコードを書きたい
myDataGrid.DataSource = DataTable.GetTable<WHAT WRITE HERE>();