我不確定是否有這樣的問題。但我沒有找到它 所以基本上我所擁有的是一個三層Web應用程序(MVC),其中有幾個程序集定義了BLL和DAL。 對於定義的每個Db實體,我創建了數據傳輸對象以通過BL層,但是在某些情況下,我需要以DataPortion類內部分的形式返回數據(定義了有限列表和所有數據的量由查詢檢測到。 DataPortion在3層應用程序中傳輸分頁數據
的 接口public interface IDataPortion<TItem> where TItem : class
{
IEnumerable<TItem> Items { get; }
int TotalCount { get; }
}
這裏,在這樣
IDataPortion<TEntity> Get(int page, int pageSize);
IDataPortion<TEntity> GetByAuthor(string uid, int page, int pageSize);
所以它返回DataPortion類型BL層返回的數據。將數據返回到表現層,所有的實體之前,庫的方法簽名的例子被映射到DTO對象,但我支持什麼sed如何處理這個DataPortion?我不能直接從介紹l-r引用DAL繞過BL程序集。
所以我的問題是:我應該建立某種形式的DTO爲DataPortion,這樣
PagedResult<TItem>
{
IEnumareble<TItem> Items { get; }
int TotalCount { get; }
}
而且比它映射到IDataPortion實施? 或者我應該避免從DAL傳輸此類數據並分別返回totalCount和項目列表?通過使用DataPortion,我試圖避免在我的倉庫中創建方法或屬性(如「DelegationByAuthorAndCreationDateCount」)。