public IEnumerable <TEntity> Take(IStorageDbConnection conn, int take, IEnumerable <Expression <Func <TEntity, object> > > selectFields, WhereClauseResult whereClause, OrderbyClauseResult orderbyClause, IDbTransaction tr) { if (conn == null) { throw new ArgumentNullException(nameof(conn)); } var result = ConstructTakeSql(take, selectFields, whereClause, orderbyClause.IsNull ? CreateDefaultOrderbyClause() : orderbyClause); conn.TextWriter.WriteSql(result.CommandText); return(conn.Query <TEntity>(result.CommandText, result.Parameters, tr).AsList()); }
public TEntity SingleOrDefault(IStorageDbConnection conn, IEnumerable <Expression <Func <TEntity, object> > > selectFields, Expression <Func <TEntity, object> > id, TKey value, IDbTransaction tr) { if (conn == null) { throw new ArgumentNullException(nameof(conn)); } if (id == null) { throw new ArgumentNullException(nameof(id)); } var result = ConstructSingleSql(selectFields, id, value); conn.TextWriter.WriteSql(result.CommandText); return(conn.Query <TEntity>(result.CommandText, result.Parameters, tr).SingleOrDefault()); }