public static Query DeleteAll <T>() { var descriptor = GetDescriptor <T>(); var sql = Dialect.Delete(Dialect.ResolveTableName(descriptor), descriptor.Schema); return(new Query(sql)); }
private static Query Delete(IDataDescriptor descriptor, IReadOnlyDictionary <string, object> whereHash) { var whereHashKeyRewrite = whereHash.Keys.ToDictionary(k => Dialect.ResolveColumnName(descriptor, k), v => v); var whereFilter = Dialect.ResolveColumnNames(descriptor).Intersect(whereHashKeyRewrite.Keys).ToList(); var whereParams = whereFilter.ToDictionary(key => $"{whereHashKeyRewrite[key]}", key => whereHash[whereHashKeyRewrite[key]]); var whereParameters = whereParams.Keys.ToList(); var sql = Dialect.Delete(descriptor, Dialect.ResolveTableName(descriptor), descriptor.Schema, whereFilter, whereParameters); var parameters = whereParams.ToDictionary(k => $"{Dialect.Parameter}{k.Key}", v => v.Value); return(new Query(sql, parameters)); }
private static Query Delete(IDataDescriptor descriptor, List <string> whereFilter, IDictionary <string, object> whereHash) { var whereHashKeyRewrite = whereHash.Keys.ToDictionary(k => Dialect.ResolveColumnName(descriptor, k), v => v); var whereParams = whereFilter.ToDictionary(key => $"{whereHashKeyRewrite[key]}", key => whereHash[whereHashKeyRewrite[key]]); var whereParameters = whereParams.Keys.ToList(); var sql = Dialect.Delete(descriptor, Dialect.ResolveTableName(descriptor), descriptor.Schema, whereFilter, whereParameters); var @params = Hash.FromDictionary(whereParams); return(new Query(sql, @params)); }