public Entity[] ProcessEntityQueryRequest <Entity>(Bzure.Common.Data.EntityQueryRequest <Entity> QueryRequest) where Entity : Bzure.Common.Core.IEntity, IPersistenceState { List <Entity> entities = new List <Entity>(); if (QueryRequest is EntityPageQueryRequest <Entity> ) { entities.AddRange(ProcessEntityQueryRequestPaged <Entity>(QueryRequest as EntityPageQueryRequest <Entity>)); } else { entities.AddRange(ProcessEntityQueryRequestNonePaged <Entity>(QueryRequest)); } entities.ForEach(m => { m.MarkPersistenceState(true); }); return(entities.ToArray()); }
/// <summary> /// 实体查询 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="queryRequest"></param> /// <returns></returns> public virtual T[] QueryEntity <T>(Bzure.Common.Data.EntityQueryRequest <T> queryRequest) where T : Bzure.Common.Core.IEntity, Bzure.Common.Core.IPersistenceState { lock (_queryHandlers) { InitEntityMap(typeof(T)); Delegate handler; if (_queryHandlers.TryGetValue(typeof(T), out handler)) { QueryEntityHandler <T> h = handler as QueryEntityHandler <T>; return(h(this, queryRequest)); } } return(default(T[])); }