/// <summary> /// 通过 IQuery 对象来查询实体。 /// </summary> /// <param name="query">查询对象。</param> /// <param name="paging">分页信息。</param> /// <param name="eagerLoad">需要贪婪加载的属性。</param> /// <param name="markTreeFullLoaded">如果某次查询结果是一棵完整的子树,那么必须设置此参数为 true ,才可以把整个树标记为完整加载。</param> /// <returns></returns> public EntityList QueryList(IQuery query, PagingInfo paging = null, EagerLoadOptions eagerLoad = null, bool markTreeFullLoaded = false) { var args = new EntityQueryArgs(query); args.MarkTreeFullLoaded = markTreeFullLoaded; args.SetDataLoadOptions(paging, eagerLoad); return(this.QueryList(args)); }
/// <summary> /// 通过 IQuery 对象从持久层中查询数据。 /// 本方法只能由仓库中的方法来调用。本方法的返回值的类型将与仓库中方法的返回值保持一致。 /// 支持的返回值:EntityList、Entity、int、LiteDataTable。 /// </summary> /// <param name="query">查询对象。</param> /// <param name="paging">分页信息。</param> /// <param name="eagerLoad">需要贪婪加载的属性。</param> /// <param name="markTreeFullLoaded">如果某次查询结果是一棵完整的子树,那么必须设置此参数为 true ,才可以把整个树标记为完整加载。</param> /// <returns></returns> public object QueryData(IQuery query, PagingInfo paging = null, EagerLoadOptions eagerLoad = null, bool markTreeFullLoaded = false) { var queryType = FinalDataPortal.CurrentIEQC.QueryType; if (queryType == RepositoryQueryType.Table) { return this.QueryTable(query, paging); } var args = new EntityQueryArgs(query); args.MarkTreeFullLoaded = markTreeFullLoaded; args.SetDataLoadOptions(paging, eagerLoad); return this.QueryData(args); }