/// <summary> /// /// </summary> /// <param name="destination"></param> /// <param name="source"></param> protected virtual void HandleReferenceTypeData(object destination, IDbQueryResult source) { if (null != destination && null != source && source.HasResult) { var _destiDescriptor = OperatingSession.OperationContext.DescriptorManager.GetDescriptor(destination); var _resultMapper = OperatingSession.CreateDbQueryResultMapper(_destiDescriptor.PropertyDescriptors); _resultMapper.Map(destination, source); } }
/// <summary> /// /// </summary> /// <param name="destination"></param> /// <param name="source"></param> /// <param name="propertyDescriptor"></param> protected void MapReferenceTypeData(IDbQueryParameterizable destination, object source, DbQueryPropertyDescriptor propertyDescriptor) { var _sourceDescriptor = OperatingSession.OperationContext.DescriptorManager.GetDescriptor(source); var _ignoreProperties = propertyDescriptor.DeclaringDescriptor.IgnorePropertyDescriptors.GetDescriptors(propertyDescriptor); var _sourceProperties = _sourceDescriptor.PropertyDescriptors.GetDescriptors(propertyDescriptor.QueryAction, _ignoreProperties); if (!_sourceProperties.IsEmpty) { var _parameterMapper = OperatingSession.CreateDbQueryParameterMapper(_sourceProperties, true); _parameterMapper.Map(destination, source); } }