diff --git a/src/Umbraco.Core/Persistence/NPocoSqlExtensions.cs b/src/Umbraco.Core/Persistence/NPocoSqlExtensions.cs index 7b12e2e69d..60172ef687 100644 --- a/src/Umbraco.Core/Persistence/NPocoSqlExtensions.cs +++ b/src/Umbraco.Core/Persistence/NPocoSqlExtensions.cs @@ -544,6 +544,7 @@ namespace Umbraco.Core.Persistence /// The Sql statement. public static Sql SelectTop(this Sql sql, int count) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); return sql.SqlContext.SqlSyntax.SelectTop(sql, count); } @@ -554,6 +555,7 @@ namespace Umbraco.Core.Persistence /// The Sql statement. public static Sql SelectCount(this Sql sql) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); return sql.Select("COUNT(*)"); } @@ -569,6 +571,7 @@ namespace Umbraco.Core.Persistence /// public static Sql SelectCount(this Sql sql, params Expression>[] fields) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); var columns = fields.Length == 0 ? sql.GetColumns(withAlias: false) : fields.Select(x => GetFieldName(x, sql.SqlContext.SqlSyntax)).ToArray(); @@ -582,6 +585,7 @@ namespace Umbraco.Core.Persistence /// The Sql statement. public static Sql SelectAll(this Sql sql) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); return sql.Select("*"); } @@ -597,6 +601,7 @@ namespace Umbraco.Core.Persistence /// public static Sql Select(this Sql sql, params Expression>[] fields) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); return sql.Select(sql.GetColumns(columnExpressions: fields)); } @@ -613,6 +618,7 @@ namespace Umbraco.Core.Persistence /// public static Sql Select(this Sql sql, string tableAlias, params Expression>[] fields) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); return sql.Select(sql.GetColumns(tableAlias: tableAlias, columnExpressions: fields)); } @@ -628,6 +634,7 @@ namespace Umbraco.Core.Persistence /// public static Sql AndSelect(this Sql sql, params Expression>[] fields) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); return sql.Append(", " + string.Join(", ", sql.GetColumns(columnExpressions: fields))); } @@ -645,6 +652,7 @@ namespace Umbraco.Core.Persistence /// public static Sql AndSelect(this Sql sql, string tableAlias, params Expression>[] fields) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); return sql.Append(", " + string.Join(", ", sql.GetColumns(tableAlias: tableAlias, columnExpressions: fields))); } @@ -657,6 +665,8 @@ namespace Umbraco.Core.Persistence /// The Sql statement. public static Sql Select(this Sql sql, Func, SqlRef> reference) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); + sql.Select(sql.GetColumns()); reference?.Invoke(new SqlRef(sql, null)); @@ -675,6 +685,8 @@ namespace Umbraco.Core.Persistence /// is added, so that it is possible to add (e.g. calculated) columns to the referencing Dto. public static Sql Select(this Sql sql, Func, SqlRef> reference, Func, Sql> sqlexpr) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); + sql.Select(sql.GetColumns()); sql = sqlexpr(sql); @@ -789,6 +801,7 @@ namespace Umbraco.Core.Persistence /// public static string Columns(this Sql sql, params Expression>[] fields) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); return string.Join(", ", sql.GetColumns(columnExpressions: fields, withAlias: false)); } @@ -805,6 +818,7 @@ namespace Umbraco.Core.Persistence /// public static string Columns(this Sql sql, string alias, params Expression>[] fields) { + if (sql == null) throw new ArgumentNullException(nameof(sql)); return string.Join(", ", sql.GetColumns(columnExpressions: fields, withAlias: false, tableAlias: alias)); }