/// <summary> /// /// </summary> /// <param name="source"></param> /// <param name="mapper"></param> /// <param name="disposing">释放回调</param> public QueryResultEnumerator(IResultSource source, IResultMapper <TEntity> mapper, Action <int> disposing) { mapper.TearUp(source); _disposing = disposing; _source = source; _mapper = mapper; }
public RetrievalQueryExecutor(string sqlQuery, IDictionary <string, object> parameters, IResultMapper <TItem> resultMapper) { if (sqlQuery == null) { throw new ArgumentNullException(nameof(sqlQuery)); } if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } if (resultMapper == null) { throw new ArgumentNullException(nameof(resultMapper)); } this.Query = sqlQuery; this.ResultMapper = resultMapper; this.Parameters = parameters; }
public void PerformOnConnection_Verify_Mapper_Called_On_DataReader() { IResultMapper <MyTestClass> mockMapper = MockRepository.GenerateMock <IResultMapper <MyTestClass> >(); var mockTestClass = new MyTestClass(); this.DataReader.Stub(x => x.Read()) .Repeat .Once() .Return(true); //mock no fields so that no query structure is populated as we do not care about //it in this test this.DataReader.Stub(x => x.FieldCount) .Return(0); mockMapper.Expect(x => x.MapResult(Arg <IDataReader> .Is.Equal(this.DataReader), Arg <QueryResultStructure> .Is.Anything)) .Return(mockTestClass); var result = RetrievalQueryExecutorBuilder <MyTestClass> .ForQuery("QUERY") .WithCustomResultMapper(mockMapper) .Build() .PerformOnConnection(this.Connection); mockMapper.VerifyAllExpectations(); Assert.AreSame(mockTestClass, result.First(), "Did not return the expected mapped object"); }
/// <summary> /// 构造 /// </summary> /// <param name="connection"></param> /// <param name="mapper"></param> /// <param name="procedureName"></param> /// <param name="parameter"></param> /// <param name="log"></param> /// <param name="timeout"></param> public StoredProcedureQueryResult(IDbConnection connection, IResultMapper <TEntity> mapper, string procedureName, TParameter parameter, Action <string> log, int timeout) : base(mapper, log) { _connection = connection; _procedureName = procedureName; _parameter = parameter; _timeout = timeout; }
/// <summary> /// /// </summary> /// <param name="command"></param> /// <param name="mapper"></param> /// <param name="log"></param> public CommandQueryResult(DbCommand command, IResultMapper <TEntity> mapper, Action <string> log) : base(mapper, log) { if (command == null) { throw new ArgumentNullException(nameof(command)); } _command = command; }
/// <summary> /// 构造查询结果 /// </summary> /// <param name="mapper">结果映射器</param> /// <param name="log"></param> protected QueryResult(IResultMapper <TEntity> mapper, Action <string> log) { if (mapper == null) { throw new ArgumentNullException("mapper"); } _mapper = mapper; _log = log; }
public ResultController(Messages messages, PeSportsTrackingContext context, ISchoolClassMapper schoolClassMapper, IResultMapper resultMapper ) { _messages = messages; _context = context; _schoolClassMapper = schoolClassMapper; _resultMapper = resultMapper; }
internal IResultMapper <Result>?GetResultMapper(int requestCode) { IResultMapper <Result>?resultMapper = null; var resultMapperAssemblyQualifiedName = _state?.GetString(null, requestCode.ToString()); if (!string.IsNullOrWhiteSpace(resultMapperAssemblyQualifiedName)) { var resultMapperType = Type.GetType(resultMapperAssemblyQualifiedName); resultMapper = (IResultMapper <Result>)Activator.CreateInstance(resultMapperType); } return(resultMapper); }
/// <summary> /// /// </summary> /// <param name="connection">连接</param> /// <param name="sql">SQL</param> /// <param name="parameters">SQL参数</param> /// <param name="parameterNaming">参数名构建器</param> /// <param name="mapper">数据行映射器</param> /// <param name="log">日志回调</param> /// <param name="timeout">超时</param> public SqlQueryResult(IDbConnection connection, string sql, object[] parameters, Func <string, string> parameterNaming, IResultMapper <TEntity> mapper, Action <string> log, int timeout) : base(mapper, log) { _connection = connection; _sql = sql; _parameterNaming = parameterNaming; _parameters = parameters; _timeout = timeout; }