public virtual DbParameter CreateParameter(QueryParameter parameter) { var param = this.Factory.CreateParameter(); param.ParameterName = parameter.Name; param.Direction = parameter.Direction; param.Value = (parameter.Value == null) ? DBNull.Value : parameter.Value; return param; }
// /// <summary> // /// Set the parameter name/value, this override is necessary to keep the runtime from mistakenly // /// assuming that an integer value of 1/2/3/6 is a ParameterDirection type cast value. Grrrrrr. // /// </summary> //public Query Set(string parameterName, int value) { // return this.Set(new QueryParameter(parameterName, value)); //} public Query Set(QueryParameter parameter) { Contract.Requires(parameter != null); Contract.Requires(!this.Contains(parameter.Name)); var existing = this.Get(parameter.Name); if(existing != null){//duplicate, overwrite this.Parameters.Remove(existing); } this.Parameters.Add(parameter); return this; }
public Query Out(QueryParameter parameter) { parameter.Direction = ParameterDirection.Output; return this.Set(parameter); }
public override DbParameter CreateParameter(QueryParameter parameter) { var param = base.CreateParameter(parameter) as SqlParameter; param.ParameterName = "@" + param.ParameterName; return param; }