private R Build <R>(DataSource ds, R builder) where R : DbQueryBuilder { if (_where != null) { builder.Append(" WHERE ").Append(_where.Build(ds)); } return(builder); }
DbQueryBuilder IDbSubQuery <R> .Build(DataSource ds, long top, bool join) { DbQueryBuilder builder = _query.Build(ds, top, join); if (_where != null) { builder.Append(" WHERE ").Append(_where.Build(ds)); } return(builder); }
DbQueryBuilder IDbUpdateQuery.Build(DataSource ds, ref int count) { DbQueryBuilder builder = _query.Build(ds, ref count); if (_where != null) { builder.Append(" WHERE ").Append(_where.Build(ds)); } return(builder); }
public int Execute() { StringBuilder sb = new StringBuilder(); List <DataParameter> ps = new List <DataParameter>(); sb.Append("DELETE FROM "); sb.Append(_query.Query.Provider.EscapeName(DbTable.GetTableName <T>())); if (_where != null) { DbQueryBuilder builder = _where.Build(_query.Query.DataSource); sb.Append(" WHERE ").Append(builder.Sql); ps.AddRange(builder.Parameters); } sb.Append(';'); return(_query.Query.DataSource.ExecuteNonQuery(sb.ToString(), ps.ToArray())); }