public IEnumerable <T> Query <T>(SqlWriterResult result, IDbConnection connection, IDbTransaction transaction, bool asTracked = false) { if (asTracked) { return(this.Tracked( ((NoFetchDelegate <T>) this.noFetchTrackingCalls[typeof(T)])(connection, result.Sql, result.Parameters, transaction))); } return(((NoFetchDelegate <T>) this.noFetchFkCalls[typeof(T)])(connection, result.Sql, result.Parameters, transaction)); }
private static async Task InsertAndSetIdAsync <T, TKey>( ISessionState sessionState, SqlWriterResult sqlQuery, string sqlAndReturnId, IMap <T> map, T entity) where T : class, new() { var idResult = await(await sessionState.GetConnectionAsync()).QueryAsync <TKey>( sqlAndReturnId, sqlQuery.Parameters, await sessionState.GetTransactionAsync()); map.SetPrimaryKeyValue(entity, idResult.Single()); }
private static void InsertAndSetId <T, TKey>( ISessionState sessionState, SqlWriterResult sqlQuery, string getLastInsertedId, IMap <T> map, T entity) where T : class, new() { var idResult = sessionState.GetConnection() .Query <TKey>( sqlQuery.Sql + ";" + getLastInsertedId, sqlQuery.Parameters, sessionState.GetTransaction()); map.SetPrimaryKeyValue(entity, idResult.Single()); }
public async Task <IEnumerable <T> > QueryAsync <T>( SqlWriterResult sqlQuery, IDbConnection connection, IDbTransaction transaction, bool asTracked = false) { if (asTracked) { var results = await ((NoFetchDelegateAsync <T>) this.asyncNoFetchTrackingCalls[typeof(T)])(connection, sqlQuery.Sql, sqlQuery.Parameters, transaction); return(this.Tracked(results)); } var asyncNoFetchFkResults = await((NoFetchDelegateAsync <T>) this.asyncNoFetchFkCalls[typeof(T)])(connection, sqlQuery.Sql, sqlQuery.Parameters, transaction); return(asyncNoFetchFkResults); }