在我的項目,我有2個實體對象(代表在DB 2個表)如下:如何通過僅使用列表<T>獲取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;
}
}
}
是的。你肯定會幫助我很多。 我現在可以用動態表獲得列表。 您的第一個意見,請給我一個關於try/catch的例子嗎?因爲當我試圖用我的try/catch進行調試時,它的工作原理是正確的,不會像你的意見那樣發生。 非常感謝。 – 2012-04-09 10:33:28
@ThangLang:如果你在'throw ex'的時候記錄堆棧跟蹤,你將看不到'* original *'異常 - 你會得到那條線。這會丟失信息。只要使用'throw;'效果更好......但如果你只是*捕獲一個異常來重新拋出它,那麼就完全移除try/catch塊,它將在沒有任何混亂的情況下達到相同的效果。 – 2012-04-09 13:59:44