私のプロジェクトでは、次のように2つのエンティティオブジェクト(db内の2つのテーブルに委任)があります。
- Tbl_Person {ID、名前}
- Tbl_Class {ID、名前、PersonID}
DALでは、これらのエンティティ用に2つのクラスを作成し、関数GetList()を記述します。
public List<Tbl_Person> GetList()
{
using (var db = DatabaseHelper.DataContext())
{
try
{
var _t = (from info in db.**tbPerson**
select info).ToList();
return _t.ToList<**Tbl_Person**>();
}
catch (Exception ex)
{
throw ex;
}
}
}
クラスMyClass:
public List<Tbl_Class> GetList()
{
using (var db = DatabaseHelper.DataContext())
{
try
{
var _t = (from info in db.**tbClass**
select info).ToList();
return _t.ToList<**Tbl_Class**>();
}
catch (Exception ex)
{
throw ex;
}
}
}
2つのクラスを使用する場合、GetList()を使用してリストオブジェクトを正しく取得できます。しかし、ここには重複した関数GetList()があるようです。私が欲しいのは、このような1つの関数GetList()だけです:
public List<T> GetList()
{
using (var db = DatabaseHelper.DataContext())
{
try
{
var _t = (from info in db.**????????**
select info).ToList();
return _t.ToList<**T**>();
}
catch (Exception ex)
{
throw ex;
}
}
}