Yes I already have some function mappings but I didn't think they could take a query as an argument.
I tried this
new FunctionMapping(typeof(GeneralHelper), "JoinAsString", 1, "{0} for xml path('')")
but I got this error:
The parameter at position 0 is of an unsupported type: Query
public const string StringJoinSeperator = ", ";
public static string JoinAsString<T>(this IEnumerable<T> input)
{
return JoinAsString(input, StringJoinSeperator);
}
public static string JoinAsString<T>(this IEnumerable<T> input, string separator)
{
return input == null ? string.Empty : StringHelper.Join(separator, input.Select(i => Convert.ToString(i)));
}
/// <summary>
/// Joins an array of non empty strings together as one string with a separator between each non empty original string.
/// </summary>
/// <param name="separator">The separator.</param>
/// <param name="values">The values.</param>
/// <returns></returns>
public static string Join(string separator, IEnumerable<string> values)
{
return string.Join(separator, values.Where(s => !string.IsNullOrEmpty(s)));
}