protected override Task <IEnumerable <RelationshipEntityInstanceIdentity <TMainEntity> > > QueryAsync( IDbConnection connection, string statement, string splitOnCondition, object parameters, bool buffered, IDbTransaction transaction, int?commandTimeout, RelationshipEntityInstanceBuilder relationshipInstanceBuilder) { return(connection.QueryAsync <TMainEntity, TFirstJoinedEntity, TSecondJoinedEntity, TThirdJoinedEntity, TFourthJoinedEntity, RelationshipEntityInstanceIdentity <TMainEntity> >( statement, (mainEntity, firstJoinedEntity, secondJoinedEntity, thirdJoinedEntity, fourthJoinedEntity) => { var mainEntityIdentity = relationshipInstanceBuilder.RegisterResultSetRowInstance(mainEntity); relationshipInstanceBuilder.RegisterResultSetRowInstance(firstJoinedEntity); relationshipInstanceBuilder.RegisterResultSetRowInstance(secondJoinedEntity); relationshipInstanceBuilder.RegisterResultSetRowInstance(thirdJoinedEntity); relationshipInstanceBuilder.RegisterResultSetRowInstance(fourthJoinedEntity); relationshipInstanceBuilder.EndResultSetRow(); return mainEntityIdentity; }, parameters, buffered: buffered, splitOn: splitOnCondition, transaction: transaction, commandTimeout: commandTimeout)); }
protected override IEnumerable <TMainEntity> Query( IDbConnection connection, string statement, string splitOnCondition, object parameters, bool buffered, IDbTransaction transaction, int?commandTimeout, RelationshipEntityInstanceBuilder relationshipInstanceBuilder) { return(connection.Query <TMainEntity, TFirstJoinedEntity, TMainEntity>( statement, (mainEntity, joinedEntity) => { relationshipInstanceBuilder.RegisterResultSetRowInstance(ref mainEntity); relationshipInstanceBuilder.RegisterResultSetRowInstance(ref joinedEntity); relationshipInstanceBuilder.EndResultSetRow(); return mainEntity; }, parameters, buffered: buffered, splitOn: splitOnCondition, transaction: transaction, commandTimeout: commandTimeout)); }