/// <summary> /// Initializes a new instance of the <see cref="QueryKey"/> class. /// </summary> /// <param name="factory">the session factory for this query key, required to get the identifiers of entities that are used as values.</param> /// <param name="queryString">The query string.</param> /// <param name="queryParameters">The query parameters.</param> /// <param name="filters">The filters.</param> /// <param name="customTransformer">The result transformer; should be null if data is not transformed before being cached.</param> public QueryKey(ISessionFactoryImplementor factory, SqlString queryString, QueryParameters queryParameters, ISet <FilterKey> filters, CacheableResultTransformer customTransformer) { _factory = factory; _sqlQueryString = queryString; _types = queryParameters.PositionalParameterTypes; _values = queryParameters.PositionalParameterValues; RowSelection selection = queryParameters.RowSelection; if (selection != null) { _firstRow = selection.FirstRow; _maxRows = selection.MaxRows; } else { _firstRow = RowSelection.NoValue; _maxRows = RowSelection.NoValue; } _namedParameters = queryParameters.NamedParameters; _filters = filters; _customTransformer = customTransformer; _hashCode = ComputeHashCode(); }
/// <summary> /// Initializes a new instance of the <see cref="QueryKey"/> class. /// </summary> /// <param name="factory">the session factory for this query key, required to get the identifiers of entities that are used as values.</param> /// <param name="queryString">The query string.</param> /// <param name="queryParameters">The query parameters.</param> /// <param name="filters">The filters.</param> /// <param name="customTransformer">The result transformer; should be null if data is not transformed before being cached.</param> public QueryKey(ISessionFactoryImplementor factory, SqlString queryString, QueryParameters queryParameters, ISet<FilterKey> filters, CacheableResultTransformer customTransformer) { _factory = factory; _sqlQueryString = queryString; _types = queryParameters.PositionalParameterTypes; _values = queryParameters.PositionalParameterValues; RowSelection selection = queryParameters.RowSelection; if (selection != null) { _firstRow = selection.FirstRow; _maxRows = selection.MaxRows; } else { _firstRow = RowSelection.NoValue; _maxRows = RowSelection.NoValue; } _namedParameters = queryParameters.NamedParameters; _filters = filters; _customTransformer = customTransformer; _hashCode = ComputeHashCode(); }
public QueryKey(ISessionFactoryImplementor factory, SqlString queryString, QueryParameters queryParameters, ISet <FilterKey> filters, CacheableResultTransformer customTransformer) : this(factory, queryString, queryParameters, filters, customTransformer, null) { }