public SqlFragment Generate(DbFunctionExpression e, SqlGenerator caller)
{
callingGenerator = caller;
if (bitwiseFunctions.ContainsKey(e.Function.Name))
return BitwiseFunction(e);
else if (dateFunctions.ContainsKey(e.Function.Name))
return GenericFunction(dateFunctions, e);
else if (stringFunctions.ContainsKey(e.Function.Name))
return GenericFunction(stringFunctions, e);
else if (mathFunctions.ContainsKey(e.Function.Name))
return GenericFunction(mathFunctions, e);
else
return UserDefinedFunction(e);
}