/// <summary> /// /// </summary> /// <param name="operatingSession"></param> /// <param name="entity"></param> /// <param name="memberDescriptor"></param> /// <param name="serviceContract"></param> /// <param name="queryContract"></param> protected virtual void ExecuteQueryImpl(DbQueryOperatingSession operatingSession, object entity, IEntryDescriptor memberDescriptor, IDataServiceContract serviceContract, IDbQueryContract queryContract) { var _queryContract = queryContract ?? operatingSession.GetDbQueryContract(memberDescriptor); InitializeRequiredProperties(operatingSession.OperationContext, _queryContract); var _queryContext = operatingSession.CreateDbQueryContext(serviceContract); InitializeRequiredProperties(_queryContext, _queryContract); var _parameterMapper = operatingSession.CreateDbQueryParameterMapper(memberDescriptor); var _operationExecutor = operatingSession.CreateDbQueryOperationExecutor(memberDescriptor); var _propertyValidator = operatingSession.CreateDbQueryPropertyValidator(memberDescriptor); _propertyValidator.Validate(entity); _parameterMapper.Map(_queryContext, entity); _operationExecutor.Execute(entity, _queryContext); var _queryResult = _queryContext.Execute(); if (null != _queryResult && _queryResult.HasResult) { var _resultMapper = operatingSession.CreateDbQueryResultMapper(memberDescriptor); _resultMapper.Map(entity, _queryResult); } }
/// <summary> /// /// </summary> /// <param name="serviceContract"></param> /// <param name="queryAction"></param> /// <returns></returns> public DbQueryOperatingSession CreateSession(IDataServiceContract serviceContract, DbQueryActions queryAction) { var _connection = _connectionPool.DetachConnection(serviceContract); var _operatingSession = new DbQueryOperatingSession(this, _connection, queryAction); _operatingSession.OperationFailed += new DbQueryFailedEventHandler(_OnOperationFailed); _innerSessionRepository.Add(_operatingSession); return(_operatingSession); }
/// <summary> /// /// </summary> /// <param name="operatingSession"></param> /// <param name="memberDescriptors"></param> public DbQueryResultMapper(DbQueryOperatingSession operatingSession, DbQueryPropertyDescriptors memberDescriptors) : base(operatingSession) { _propertyDescriptors = memberDescriptors; }
/// <summary> /// /// </summary> /// <param name="operatingSession"></param> /// <param name="memberDescriptors"></param> public DbQueryOperationExecutor(DbQueryOperatingSession operatingSession, DbQueryOperationDescriptors memberDescriptors) : base(operatingSession) { _memberDescriptors = memberDescriptors; }
/// <summary> /// /// </summary> /// <param name="operatingSession"></param> public DbQueryOperatingPrinciple(DbQueryOperatingSession operatingSession) { _operatingSession = operatingSession; }
/// <summary> /// /// </summary> /// <param name="operationSession"></param> /// <param name="memberDescriptors"></param> /// <param name="isInChild"></param> public DbQueryParameterMapper(DbQueryOperatingSession operationSession, DbQueryPropertyDescriptors memberDescriptors, bool isInChild) : this(operationSession, memberDescriptors) { _isInChild = isInChild; }
/// <summary> /// /// </summary> /// <param name="operatingSession"></param> /// <param name="propertyDescriptors"></param> public DbQueryPropertyValidator(DbQueryOperatingSession operatingSession, DbQueryPropertyDescriptors propertyDescriptors) : base(operatingSession) { _propertyDescriptors = propertyDescriptors; }