static string ParamToSql(SqlParamItem param, ParamMode mode) { switch (mode) { case ParamMode.EntityFramework: return($"@{param.ParamName}"); case ParamMode.Substitute: return(SqlConst.ConstToSql(param.GetValue())); default: throw new ArgumentException("No se pueden usar parametros con el param mode 'None'"); } }
/// <summary> /// Agrega un parametro y devuelve el número del mismo, si ya existe devuelve el numero del parámetro existente /// </summary> public SqlParamItem AddParam(object target, IReadOnlyList <MemberInfo> path) { var it = Items.FirstOrDefault(x => x.Target == target && x.Path.SequenceEqual(path, CompareExpr.CompareMemberInfo) ); if (it == null) { var name = GetNewName(path.Last().Name, null); it = new SqlParamItem(target, path, name, Items.Count); Items.Add(it); } return(it); }