我不确定是否有这样的问题。但我没有找到它 所以基本上我所拥有的是一个三层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”)。