/// /// Gets {propertyName}. /// /// The database context. /// How many {propertyName} to skip. /// How many {propertyName} to take. (Default = 50) /// Optional Order direction /// Optional where predicate. /// Optional order by predicate. /// A bool if the result is successful and has at least 1 occurrence of {propertyName}. public static (bool, {returnTypeFullName}[]) Get{propertyName}(this {contextFullName} dbContext, int skip = 0, int take = 50, int orderDir = 1, Expression > where = null, Expression > orderBy = null) { var query = dbContext .{propertyName} .Select(x => new {returnTypeFullName}(x)); // limit take by 200 records if (take > 200) take = 200; query.Skip(skip).Take(take); if (where != null) query.Where(where); if(orderBy != null) { if (orderDir == 1) query.OrderBy(orderBy); else query.OrderByDescending(orderBy); } return (query.Any(), query.ToArray()); }