我有一個關於泛型列表的問題。實體框架泛型列表
假設我有一個包含三個表,用戶表,Order表和項目表的數據庫。
在C#代碼,我希望有一個功能,叫的GetList得到所有他從三個表的一個記錄。
如果我不使用泛型方法,我要創建3種不同的方法,它看起來像GetAllUsers(),GetAllOrders()和GetAllItems()。在這3種方法中,我將不得不編寫linq來查詢數據庫。
我的問題是如何實現一個通用的方法。
我想使用EF 4.1。我知道如何使用NHibrate tho來做到這一點。
UPDATE
這個是什麼?我發現它的另一篇文章中,它可以被用來獲得一個單獨的記錄
public T GetSingleEntity<T>(Expression<Func<T,bool>> expression) where T:class
{
using (PersonalLinksEntities dbContext = new PersonalLinksEntities())
{
return dbContext.CreateObjectSet<T>().SingleOrDefault(expression);
}
}
PersonalLinksEntities由EF生成的,它是數據庫第一款車型。
這是我如何調用該方法
public ActionResult Index()
{
var thisOne = base.GetSingleEntity<PersonalRecord>(r=>r.RecordID==1);
return View();
}
有趣的是,因爲是由EF自動生成(數據庫第一)我的DbContext,我甚至不有一個名爲.GetTable()方法......這就是爲什麼我試圖找到一種方式中高音。 – HorseKing 2012-02-22 19:13:42
// return session.Query();那是NHibrate,不是嗎? –
HorseKing
2012-02-22 19:13:58
是的,只是在幾個例子中彈出...我比EF更像一個NHIb傢伙。這在很多方面都更好。 – swannee 2012-02-22 19:15:48