我在C#標準庫接口,其中包括以下方法:存儲庫/工作單元模式 - 如何查詢符合特定條件的對象的存儲庫?
IEnumerable<T> GetAll();
T GetById(int id);
void Delete(T entity);
void Add(T entity);
在我的領域層我的全部實例是工作包裝紙的新單位,並把它傳遞到存儲庫。工作單元包裝類隱藏了我是否使用NHibernate或實體框架並公開了一個Commit()方法。
在我的域圖層中,如何查詢僅滿足特定條件的對象?
我認爲我目前所做的工作非常低效。我目前做這個:
var results = myRepository.GetAll().Where......
如果我有一個非常大的物體,是GETALL()會過濾掉我不需要的那些前,他們中的每一個迴歸?我怎樣才能防止不需要的對象被返回?
很明顯,我可以在界面中添加更多的方法,但這似乎並不符合通過界面公開CRUD操作。
即 - 我不認爲我應該增加之類的東西(但也許我錯了):
IList<T> GetAllWhereMeetsMyCriteria();
的確他們非常感謝。這解決了我的問題。 – JMc 2011-05-14 11:54:21