public IsDescendantOfExpression(string propertyName, string value) { _propertyName = propertyName; _projection = NHibernate.Criterion.Projections.Property(_propertyName); _value = value; _typedValue = new TypedValue(NHibernateUtil.String, _value, EntityMode.Poco); }
public override TypedValue[] GetTypedValues(ICriteria criteria, ICriteriaQuery criteriaQuery) { TypedValue[] superTv = base.GetTypedValues(criteria, criteriaQuery); TypedValue[] result = new TypedValue[superTv.Length + 1]; superTv.CopyTo(result, 1); result[0] = new TypedValue(GetTypes()[0], value, EntityMode.Poco); return result; }
public override TypedValue[] GetTypedValues(ICriteria criteria, ICriteriaQuery criteriaQuery) { TypedValue[] superTv = base.GetTypedValues(criteria, criteriaQuery); TypedValue[] result = new TypedValue[superTv.Length + 1]; superTv.CopyTo(result, 1); result[0] = FirstTypedValue(); return result; }
/// <summary> /// Combines the <see cref="TypedValue"/> for the Left Hand Side and the /// Right Hand Side of the Expression into one array. /// </summary> /// <returns>An array of <see cref="TypedValue"/>s.</returns> public override TypedValue[] GetTypedValues(ICriteria criteria, ICriteriaQuery criteriaQuery) { TypedValue[] lhstv = _lhs.GetTypedValues(criteria, criteriaQuery); TypedValue[] rhstv = _rhs.GetTypedValues(criteria, criteriaQuery); TypedValue[] result = new TypedValue[lhstv.Length + rhstv.Length]; Array.Copy(lhstv, 0, result, 0, lhstv.Length); Array.Copy(rhstv, 0, result, lhstv.Length, rhstv.Length); return result; }
public LikeExpression(string propertyName, string value, char? escapeChar, bool ignoreCase) { this.projection = Projections.Property(propertyName); this.value = value; typedValue = new TypedValue(NHibernateUtil.String, this.value, EntityMode.Poco); this.escapeChar = escapeChar; this.ignoreCase = ignoreCase; }
public void WhenTheTypeIsAnArray_ChoseTheDefaultComparer() { byte[] value = new byte[]{1,2,3}; var tv = new TypedValue(NHibernateUtil.BinaryBlob, value, EntityMode.Poco); Assert.That(tv.Comparer, Is.TypeOf<TypedValue.DefaultComparer>()); }
public SQLCriterion(SqlString sql, object[] values, IType[] types) { _sql = sql; _typedValues = new TypedValue[values.Length]; for (int i = 0; i < _typedValues.Length; i++) { _typedValues[i] = new TypedValue(types[i], values[i], EntityMode.Poco); } }
/// <summary> /// Combines the <see cref="TypedValue"/> for the Left Hand Side and the /// Right Hand Side of the Expression into one array. /// </summary> /// <param name="sessionFactory">The ISessionFactory to get the Persistence information from.</param> /// <param name="persistentClass">The Type we are constructing the Expression for.</param> /// <returns>An arry of <see cref="TypedValue"/>s.</returns> public override TypedValue[ ] GetTypedValues( ISessionFactoryImplementor sessionFactory, System.Type persistentClass, IDictionary aliasClasses ) { TypedValue[ ] lhstv = _lhs.GetTypedValues( sessionFactory, persistentClass, aliasClasses ); TypedValue[ ] rhstv = _rhs.GetTypedValues( sessionFactory, persistentClass, aliasClasses ); TypedValue[ ] result = new TypedValue[lhstv.Length + rhstv.Length]; Array.Copy( lhstv, 0, result, 0, lhstv.Length ); Array.Copy( rhstv, 0, result, lhstv.Length, rhstv.Length ); return result; }
public override TypedValue[] GetTypedValues(ICriteria criteria, ICriteriaQuery criteriaQuery) { InitializeInnerQueryAndParameters(criteriaQuery); IType[] paramTypes = parameters.PositionalParameterTypes; Object[] values = parameters.PositionalParameterValues; TypedValue[] tv = new TypedValue[paramTypes.Length]; for (int i = 0; i < paramTypes.Length; i++) { tv[i] = new TypedValue(paramTypes[i], values[i]); } return tv; }
public void EqualsCollection() { ArrayList value1 = new ArrayList(); value1.Add(10); value1.Add(20); ArrayList value2 = (ArrayList) value1.Clone(); TypedValue t1 = new TypedValue(NHibernateUtil.Int32, value1, EntityMode.Poco); TypedValue t2 = new TypedValue(NHibernateUtil.Int32, value2, EntityMode.Poco); Assert.IsTrue(t1.Equals(t2)); }
public void GetTypedValues() { TypedValue[] typedValues = _conjunction.GetTypedValues( factoryImpl, typeof(Simple), BaseExpressionFixture.EmptyAliasClasses ); TypedValue[] expectedTV = new TypedValue[2]; expectedTV[0] = new TypedValue(NHibernateUtil.Int32, 5); expectedTV[1] = new TypedValue(NHibernateUtil.Int32, 10); Assert.AreEqual(2, typedValues.Length); for(int i=0; i<typedValues.Length; i++) { Assert.AreEqual(expectedTV[i].Type, typedValues[i].Type); Assert.AreEqual(expectedTV[i].Value, typedValues[i].Value); } }
public void GetTypedValues() { TypedValue[] typedValues; using (ISession session = factory.OpenSession()) { CreateObjects(typeof(Simple), session); typedValues = _conjunction.GetTypedValues(criteria, criteriaQuery); } TypedValue[] expectedTV = new TypedValue[2]; expectedTV[0] = new TypedValue(NHibernateUtil.Int32, 5, EntityMode.Poco); expectedTV[1] = new TypedValue(NHibernateUtil.Int32, 10, EntityMode.Poco); Assert.AreEqual(2, typedValues.Length); for (int i = 0; i < typedValues.Length; i++) { Assert.AreEqual(expectedTV[i].Type, typedValues[i].Type); Assert.AreEqual(expectedTV[i].Value, typedValues[i].Value); } }
public Parameter CreateTakeParameter(int value) { var typedValue = new TypedValue(NHibernateUtil.Int32, value, EntityMode.Poco); return NewQueryParameter("take_",typedValue).Single(); }
private IEnumerable<Parameter> NewQueryParameter(string parameterPrefix, TypedValue parameter) { string parameterName = parameterPrefix + CollectedParameterSpecifications.Count; var specification = new CriteriaNamedParameterSpecification(parameterName, parameter.Type); collectedParameterSpecifications.Add(specification); namedParameters.Add(new NamedParameter(parameterName, parameter.Value, parameter.Type)); return specification.GetIdsForBackTrack(Factory).Select(x => { Parameter p = Parameter.Placeholder; p.BackTrack = x; return p; }); }
public IEnumerable<Parameter> NewQueryParameter(TypedValue parameter) { // the queryTranslatorId is to avoid possible conflicts using sub-queries const string parameterPrefix = "cp"; return NewQueryParameter(parameterPrefix, parameter); }
public IDetachedQuery SetParameterList(string name, ICollection vals, Type.IType type) { if (string.IsNullOrEmpty(name)) throw new ArgumentNullException("name", "Is null or empty."); namedListParams[name] = new TypedValue(type, vals, EntityMode.Poco); return this; }
public IDetachedQuery SetParameter(int position, object val, Type.IType type) { posParams[position] = new TypedValue(type, val, EntityMode.Poco); return this; }
public IsDescendantOfExpression(IProjection projection, string value) { _projection = projection; _value = value; _typedValue = new TypedValue(NHibernateUtil.String, _value, EntityMode.Poco); }
public LikeExpression(IProjection projection, string value, MatchMode matchMode) { this.projection = projection; this.value = matchMode.ToMatchString(value); typedValue = new TypedValue(NHibernateUtil.String, this.value, EntityMode.Poco); }
public AddNumberProjection(string propertyName, int numberToAdd) { this.propertyName = propertyName; this.numberToAdd = numberToAdd; typedValue = new TypedValue(NHibernateUtil.Int32, this.numberToAdd, EntityMode.Poco); }
private string BindParameterList( string queryString, string name, TypedValue typedList, IDictionary namedParams ) { ICollection vals = ( ICollection ) typedList.Value; IType type = typedList.Type; StringBuilder list = new StringBuilder( 16 ); int i = 0; foreach( object obj in vals ) { string alias = name + i++ + StringHelper.Underscore; namedParams.Add( alias, new TypedValue( type, obj ) ); list.Append( ParserHelper.HqlVariablePrefix + alias ); if( i < vals.Count ) { list.Append( StringHelper.CommaSpace ); } } return StringHelper.Replace( queryString, ParserHelper.HqlVariablePrefix + name, list.ToString() ); }
public void AddUsedTypedValues(TypedValue[] values) { if (values != null) { if (outerQueryTranslator != null) { outerQueryTranslator.AddUsedTypedValues(values); } else { usedTypedValues.AddRange(values); } } }
public ConstantProjection(object value, IType type) { this.value = value; typedValue = new TypedValue(type, this.value, EntityMode.Poco); }
/// <summary> /// /// </summary> /// <param name="name"></param> /// <param name="val"></param> /// <param name="type"></param> /// <returns></returns> public IQuery SetParameter( string name, object val, IType type ) { namedParameters[ name ] = new TypedValue( type, val ); return this; }