Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version

Simple NHibernate Architecture

, 11 Sep 2012
An article showing a nice architecture I've come up for using NHibernate
nhibernatesample.zip
NHibernateSample
Business
bin
Debug
Business.dll
Business.pdb
Castle.DynamicProxy.dll
Iesi.Collections.dll
log4net.dll
NHibernate.dll
Shared.NHibernateDAL.dll
Shared.NHibernateDAL.pdb
NHibernateDAL.cd
obj
Debug
Business.dll
Business.pdb
ResolveAssemblyReference.cache
TempPE
Properties
NHibernateDAL
bin
Debug
Castle.DynamicProxy.dll
Iesi.Collections.dll
log4net.dll
NHibernate.dll
NHibernateDAL.dll
NHibernateDAL.pdb
Shared.NHibernateDAL.dll
Shared.NHibernateDAL.pdb
mssccprj.scc
NHibernateDAL.csproj.vspscc
obj
Debug
NHibernateDAL.dll
NHibernateDAL.pdb
Refactor
NHibernateDAL.dll
Shared.NHibernateDAL.dll
ResolveAssemblyReference.cache
Shared.NHibernateDAL.dll
Shared.NHibernateDAL.pdb
TempPE
Properties
vssver2.scc
Shared.NHibernateDAL.csproj.vspscc
vssver2.scc
Web
App_Data
Bin
Business.dll
Business.pdb
Castle.DynamicProxy.dll
Iesi.Collections.dll
log4net.dll
NHibernate.dll
Shared.NHibernateDAL.dll
Shared.NHibernateDAL.pdb
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>NHibernate</name>
    </assembly>
    <members>
        <member name="P:NHibernate.AdoNet.IExpectation.ExpectedRowCount">
            <summary>
            Expected row count. Valid only for batchable expectations.
            </summary>
        </member>
        <member name="T:NHibernate.HibernateException">
            <summary>
            Any exception that occurs in the O-R persistence layer.
            </summary>
            <remarks>
            Exceptions that occur in the database layer are left as native exceptions.
            </remarks>
        </member>
        <member name="M:NHibernate.HibernateException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.HibernateException"/> class.
            </summary>
        </member>
        <member name="M:NHibernate.HibernateException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.HibernateException"/> class.
            </summary>
            <param name="message">The message that describes the error. </param>
        </member>
        <member name="M:NHibernate.HibernateException.#ctor(System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.HibernateException"/> class.
            </summary>
            <param name="innerException">
            The exception that is the cause of the current exception. If the innerException parameter 
            is not a null reference, the current exception is raised in a catch block that handles 
            the inner exception.
            </param>
        </member>
        <member name="M:NHibernate.HibernateException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.HibernateException"/> class.
            </summary>
            <param name="message">The message that describes the error. </param>
            <param name="innerException">
            The exception that is the cause of the current exception. If the innerException parameter 
            is not a null reference, the current exception is raised in a catch block that handles 
            the inner exception.
            </param>
        </member>
        <member name="M:NHibernate.HibernateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.HibernateException"/> class 
            with serialized data.
            </summary>
            <param name="info">
            The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object 
            data about the exception being thrown.
            </param>
            <param name="context">
            The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.
            </param>
        </member>
        <member name="T:NHibernate.Bytecode.CodeDom.BytecodeProviderImpl">
            <summary>
            CodeDOM-based bytecode provider.
            </summary>
        </member>
        <member name="M:NHibernate.Bytecode.IBytecodeProvider.GetReflectionOptimizer(System.Type,NHibernate.Property.IGetter[],NHibernate.Property.ISetter[])">
            <summary>
            Retrieve the <see cref="T:NHibernate.Bytecode.IReflectionOptimizer"/> delegate for this provider
            capable of generating reflection optimization components.
            </summary>
            <param name="clazz">The class to be reflected upon.</param>
            <param name="getters">All property getters to be accessed via reflection.</param>
            <param name="setters">All property setters to be accessed via reflection.</param>
            <returns>The reflection optimization delegate.</returns>
        </member>
        <member name="M:NHibernate.Bytecode.CodeDom.BytecodeProviderImpl.Generator.#ctor(System.Type,NHibernate.Property.IGetter[],NHibernate.Property.ISetter[])">
            <summary>
            ctor
            </summary>
            <param name="mappedClass">The target class</param>
            <param name="setters">Array of setters</param>
            <param name="getters">Array of getters</param>
        </member>
        <member name="M:NHibernate.Bytecode.CodeDom.BytecodeProviderImpl.Generator.InitCompiler">
            <summary>
            Set up the compiler options
            </summary>
        </member>
        <member name="M:NHibernate.Bytecode.CodeDom.BytecodeProviderImpl.Generator.AddAssembly(System.String)">
            <summary>
            Add an assembly to the list of ReferencedAssemblies
            required to build the class
            </summary>
            <param name="name"></param>
        </member>
        <member name="M:NHibernate.Bytecode.CodeDom.BytecodeProviderImpl.Generator.Build(System.String)">
            <summary>
            Build the generated code
            </summary>
            <param name="code">Generated code</param>
            <returns>An instance of the generated class</returns>
        </member>
        <member name="M:NHibernate.Bytecode.CodeDom.BytecodeProviderImpl.Generator.IsPublic(System.String)">
            <summary>
            Check if the property is public
            </summary>
            <remarks>
            <para>If IsPublic==true I can directly set the property</para>
            <para>If IsPublic==false I need to use the setter/getter</para>
            </remarks>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Bytecode.CodeDom.BytecodeProviderImpl.Generator.GenerateCode">
            <summary>
            Generate the required code
            </summary>
            <returns>C# code</returns>
        </member>
        <member name="T:NHibernate.Bytecode.IAccessOptimizer">
            <summary>
            Represents optimized entity property access.
            </summary>
        </member>
        <member name="T:NHibernate.Bytecode.Lightweight.BytecodeProviderImpl">
            <summary>
            Factory that generate object based on IReflectionOptimizer needed to replace the use
            of reflection.
            </summary>
            <remarks>
            Used in <see cref="T:NHibernate.Persister.Entity.AbstractEntityPersister"/> and
            <see cref="T:NHibernate.Type.ComponentType"/>
            </remarks>
        </member>
        <member name="M:NHibernate.Bytecode.Lightweight.BytecodeProviderImpl.GetReflectionOptimizer(System.Type,NHibernate.Property.IGetter[],NHibernate.Property.ISetter[])">
            <summary>
            Generate the IReflectionOptimizer object
            </summary>
            <param name="mappedClass">The target class</param>
            <param name="setters">Array of setters</param>
            <param name="getters">Array of getters</param>
            <returns><c>null</c> if the generation fails</returns>
        </member>
        <member name="T:NHibernate.Bytecode.IReflectionOptimizer">
            <summary>
            Represents reflection optimization for a particular class.
            </summary>
        </member>
        <member name="T:NHibernate.Bytecode.IInstantiationOptimizer">
            <summary>
            Represents optimized entity instantiation.
            </summary>
        </member>
        <member name="M:NHibernate.Bytecode.IInstantiationOptimizer.CreateInstance">
            <summary>
            Perform instantiation of an instance of the underlying class.
            </summary>
            <returns>The new instance.</returns>
        </member>
        <member name="M:NHibernate.Bytecode.Lightweight.ReflectionOptimizer.#ctor(System.Type,NHibernate.Property.IGetter[],NHibernate.Property.ISetter[])">
            <summary>
            Class constructor.
            </summary>
        </member>
        <member name="M:NHibernate.Bytecode.Lightweight.ReflectionOptimizer.CreateCreateInstanceMethod(System.Type)">
            <summary>
            Generates a dynamic method which creates a new instance of <paramref name="type" />
            when invoked.
            </summary>
        </member>
        <member name="M:NHibernate.Bytecode.Lightweight.ReflectionOptimizer.GenerateGetPropertyValuesMethod(NHibernate.Property.IGetter[])">
            <summary>
            Generates a dynamic method on the given type.
            </summary>
        </member>
        <member name="M:NHibernate.Bytecode.Lightweight.ReflectionOptimizer.GenerateSetPropertyValuesMethod(NHibernate.Property.IGetter[],NHibernate.Property.ISetter[])">
            <summary>
            Generates a dynamic method on the given type.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Bytecode.EmitUtil.EmitFastInt(System.Reflection.Emit.ILGenerator,System.Int32)">
            <summary>
            Emits an <c>ldc.i4</c> opcode using the fastest available opcode choice.
            </summary>
        </member>
        <member name="M:NHibernate.Bytecode.EmitUtil.PreparePropertyForSet(System.Reflection.Emit.ILGenerator,System.Type)">
            <summary>
            Emits IL to unbox a value type and if null, create a new instance of the value type.
            </summary>
            <remarks>
            This does not work if the value type doesn't have a default constructor - we delegate
            that to the ISetter.
            </remarks>
        </member>
        <member name="M:NHibernate.Bytecode.EmitUtil.DefineDelegateType(System.String,System.Reflection.Emit.ModuleBuilder,System.Type,System.Type[])">
            <summary>
            Defines a new delegate type.
            </summary>
        </member>
        <member name="T:NHibernate.Bytecode.NullBytecodeProvider">
            <summary>
            A <see cref="T:NHibernate.Bytecode.IBytecodeProvider"/> implementation that returns
            <c>null</c>, disabling reflection optimization.
            </summary>
        </member>
        <member name="T:NHibernate.Cache.CachedItem">
            <summary>
            An item of cached data, timestamped with the time it was cached, when it was locked,
            when it was unlocked
            </summary>
        </member>
        <member name="T:NHibernate.Cache.ILockable">
            <summary>
            Summary description for ILockable.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.CachedItem.Lock(System.Int64,System.Int32)">
            <summary>
            Lock the item
            </summary>
        </member>
        <member name="M:NHibernate.Cache.CachedItem.IsGettable(System.Int64)">
            <summary>
            Is this item visible to the timestamped transaction?
            </summary>
            <param name="txTimestamp"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cache.CachedItem.IsPuttable(System.Int64,System.Object,System.Collections.IComparer)">
            <summary>
            Don't overwite already cached items
            </summary>
            <param name="txTimestamp"></param>
            <param name="newVersion"></param>
            <param name="comparator"></param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Cache.CachedItem.FreshTimestamp">
            <summary>
            The timestamp on the cached data
            </summary>
        </member>
        <member name="P:NHibernate.Cache.CachedItem.Value">
            <summary>
            The actual cached data
            </summary>
        </member>
        <member name="P:NHibernate.Cache.CachedItem.IsLock">
            <summary>
            Not a lock!
            </summary>
        </member>
        <member name="T:NHibernate.Cache.CacheException">
            <summary>
            Represents any exception from an <see cref="T:NHibernate.Cache.ICache"/>.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.CacheException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Cache.CacheException"/> class.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.CacheException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Cache.CacheException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:NHibernate.Cache.CacheException.#ctor(System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Cache.CacheException"/> class.
            </summary>
            <param name="innerException">
            The exception that is the cause of the current exception. If the innerException parameter 
            is not a null reference, the current exception is raised in a catch block that handles 
            the inner exception.
            </param>
        </member>
        <member name="M:NHibernate.Cache.CacheException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Cache.CacheException"/> class.
            </summary>
            <param name="message">The message that describes the error. </param>
            <param name="innerException">
            The exception that is the cause of the current exception. If the innerException parameter 
            is not a null reference, the current exception is raised in a catch block that handles 
            the inner exception.
            </param>
        </member>
        <member name="M:NHibernate.Cache.CacheException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Cache.CacheException"/> class
            with serialized data.
            </summary>
            <param name="info">
            The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object 
            data about the exception being thrown.
            </param>
            <param name="context">
            The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.
            </param>
        </member>
        <member name="T:NHibernate.Cache.CacheFactory">
            <summary>
            Factory class for creating an <see cref="T:NHibernate.Cache.ICacheConcurrencyStrategy"/>.
            </summary>
        </member>
        <member name="F:NHibernate.Cache.CacheFactory.Transactional">
            <remarks>
            No providers implement transactional caching currently,
            it was ported from Hibernate just for the sake of completeness.
            </remarks>
        </member>
        <member name="M:NHibernate.Cache.CacheFactory.CreateCache(System.String,System.String,System.Boolean,NHibernate.Cfg.Settings,System.Collections.IDictionary)">
            <summary>
            Creates an <see cref="T:NHibernate.Cache.ICacheConcurrencyStrategy"/> from the parameters.
            </summary>
            <param name="usage">The name of the strategy that <see cref="T:NHibernate.Cache.ICacheProvider"/> should use for the class.</param>
            <param name="name">The name of the class the strategy is being created for.</param>
            <param name="mutable"><c>true</c> if the object being stored in the cache is mutable.</param>
            <param name="settings">Used to retrieve the global cache region prefix.</param>
            <param name="properties">Properties the cache provider can use to configure the cache.</param>
            <returns>An <see cref="T:NHibernate.Cache.ICacheConcurrencyStrategy"/> to use for this object in the <see cref="T:NHibernate.Cache.ICache"/>.</returns>
        </member>
        <member name="T:NHibernate.Cache.CacheKey">
            <summary>
            Allows multiple entity classes / collection roles to be 
            stored in the same cache region. Also allows for composite 
            keys which do not properly implement equals()/hashCode().
            </summary>
        </member>
        <member name="M:NHibernate.Cache.CacheKey.#ctor(System.Object,NHibernate.Type.IType,System.String,NHibernate.Engine.ISessionFactoryImplementor)">
            <summary>
            Construct a new key for a collection or entity instance.
            Note that an entity name should always be the root entity 
            name, not a subclass entity name.
            </summary>
        </member>
        <member name="T:NHibernate.Cache.CacheLock">
            <summary>
            A soft lock which supports concurrent locking,
            timestamped with the time it was released
            </summary>
            <remarks>
            This class was named Lock in H2.1
            </remarks>
        </member>
        <member name="T:NHibernate.Cache.ISoftLock">
            <summary>
            Marker interface, denoting a client-visible "soft lock" on a cached item.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.CacheLock.Lock(System.Int64,System.Int32)">
            <summary>
            Increment the lock, setting the
            new lock timeout
            </summary>
        </member>
        <member name="M:NHibernate.Cache.CacheLock.Unlock(System.Int64)">
            <summary>
            Decrement the lock, setting the unlock
            timestamp if now unlocked
            </summary>
            <param name="currentTimestamp"></param>
        </member>
        <member name="M:NHibernate.Cache.CacheLock.IsPuttable(System.Int64,System.Object,System.Collections.IComparer)">
            <summary>
            Can the timestamped transaction re-cache this
            locked item now?
            </summary>
        </member>
        <member name="M:NHibernate.Cache.CacheLock.IsGettable(System.Int64)">
            <summary>
            locks are not returned to the client!
            </summary>
        </member>
        <member name="P:NHibernate.Cache.CacheLock.WasLockedConcurrently">
            <summary>
            Was this lock held concurrently by multiple
            transactions?
            </summary>
        </member>
        <member name="P:NHibernate.Cache.CacheLock.IsLock">
            <summary>
            Yes, this is a lock
            </summary>
        </member>
        <member name="T:NHibernate.Cache.HashtableCache">
            <summary>
            A simple <c>Hashtable</c> based cache
            </summary>
        </member>
        <member name="T:NHibernate.Cache.ICache">
            <summary>
            Implementors define a caching algorithm.
            </summary>
            <remarks>
            All implementations MUST be threadsafe.
            
            <para>
            The key is the <c>id</c> of the object that is being cached and the 
            value is a <see cref="T:NHibernate.Cache.CachedItem"/>.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Cache.ICache.Get(System.Object)">
            <summary>
            Get the object from the Cache
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cache.ICache.Put(System.Object,System.Object)">
            <summary>
            
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:NHibernate.Cache.ICache.Remove(System.Object)">
            <summary>
            Remove an item from the Cache.
            </summary>
            <param name="key">The Key of the Item in the Cache to remove.</param>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
        </member>
        <member name="M:NHibernate.Cache.ICache.Clear">
            <summary>
            Clear the Cache
            </summary>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
        </member>
        <member name="M:NHibernate.Cache.ICache.Destroy">
            <summary>
            Clean up.
            </summary>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
        </member>
        <member name="M:NHibernate.Cache.ICache.Lock(System.Object)">
            <summary>
            If this is a clustered cache, lock the item
            </summary>
            <param name="key">The Key of the Item in the Cache to lock.</param>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
        </member>
        <member name="M:NHibernate.Cache.ICache.Unlock(System.Object)">
            <summary>
            If this is a clustered cache, unlock the item
            </summary>
            <param name="key">The Key of the Item in the Cache to unlock.</param>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
        </member>
        <member name="M:NHibernate.Cache.ICache.NextTimestamp">
            <summary>
            Generate a timestamp
            </summary>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Cache.ICache.Timeout">
            <summary>
            Get a reasonable "lock timeout"
            </summary>
        </member>
        <member name="P:NHibernate.Cache.ICache.RegionName">
            <summary>
            Gets the name of the cache region
            </summary>
        </member>
        <member name="M:NHibernate.Cache.HashtableCache.Get(System.Object)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Cache.HashtableCache.Put(System.Object,System.Object)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Cache.HashtableCache.Remove(System.Object)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Cache.HashtableCache.Clear">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Cache.HashtableCache.Destroy">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Cache.HashtableCache.Lock(System.Object)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Cache.HashtableCache.Unlock(System.Object)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Cache.HashtableCache.NextTimestamp">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Cache.HashtableCache.Timeout">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Cache.HashtableCacheProvider">
            <summary>
            Cache Provider plugin for NHibernate that is configured by using
            <c>hibernate.cache.provider_class="NHibernate.Cache.HashtableCacheProvider"</c>
            </summary>
        </member>
        <member name="T:NHibernate.Cache.ICacheProvider">
            <summary>
            Support for pluggable caches
            </summary>
        </member>
        <member name="M:NHibernate.Cache.ICacheProvider.BuildCache(System.String,System.Collections.IDictionary)">
            <summary>
            Configure the cache
            </summary>
            <param name="regionName">the name of the cache region</param>
            <param name="properties">configuration settings</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cache.ICacheProvider.NextTimestamp">
            <summary>
            generate a timestamp
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cache.ICacheProvider.Start(System.Collections.IDictionary)">
            <summary>
            Callback to perform any necessary initialization of the underlying cache implementation
            during ISessionFactory construction.
            </summary>
            <param name="properties">current configuration settings</param>
        </member>
        <member name="M:NHibernate.Cache.ICacheProvider.Stop">
            <summary>
            Callback to perform any necessary cleanup of the underlying cache implementation
            during <see cref="M:NHibernate.ISessionFactory.Close"/>.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.HashtableCacheProvider.BuildCache(System.String,System.Collections.IDictionary)">
            <summary>
            
            </summary>
            <param name="regionName"></param>
            <param name="properties"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cache.HashtableCacheProvider.NextTimestamp">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cache.HashtableCacheProvider.Start(System.Collections.IDictionary)">
            <summary>
            
            </summary>
            <param name="properties"></param>
        </member>
        <member name="M:NHibernate.Cache.HashtableCacheProvider.Stop">
            <summary>
            
            </summary>
        </member>
        <member name="T:NHibernate.Cache.ICacheConcurrencyStrategy">
            <summary>
            Implementors manage transactional access to cached data.
            </summary>
            <remarks>
            <para>
            Transactions pass in a timestamp indicating transaction start time.
            </para>
            <para>
            When used to Cache Entities and Collections the <c>key</c> is the <c>id</c> of the
            Entity/Collection and the <c>value</c> should be set to the <see cref="T:NHibernate.Impl.CacheEntry"/> 
            for an Entity and the results of <see cref="T:NHibernate.Collection.AbstractPersistentCollection"/>.Disassemble for a Collection.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.Get(NHibernate.Cache.CacheKey,System.Int64)">
            <summary>
            Attempt to retrieve an object from the Cache
            </summary>
            <param name="key">The key (id) of the object to get out of the Cache.</param>
            <param name="txTimestamp">A timestamp prior to the transaction start time</param>
            <returns>The cached object or <c>null</c></returns>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.Put(NHibernate.Cache.CacheKey,System.Object,System.Int64,System.Object,System.Collections.IComparer,System.Boolean)">
            <summary>
            Attempt to cache an object, after loading from the database
            </summary>
            <param name="key">The key (id) of the object to put in the Cache.</param>
            <param name="value">The value</param>
            <param name="txTimestamp">A timestamp prior to the transaction start time</param>
            <param name="version">the version number of the object we are putting</param>
            <param name="versionComparer">a Comparer to be used to compare version numbers</param>
            <param name="minimalPut">indicates that the cache should avoid a put if the item is already cached</param>
            <returns><c>true</c> if the object was successfully cached</returns>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.Lock(NHibernate.Cache.CacheKey,System.Object)">
            <summary>
            We are going to attempt to update/delete the keyed object
            </summary>
            <param name="key">The key</param>
            <param name="version"></param>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
            <remarks>This method is used by "asynchronous" concurrency strategies.</remarks>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.Evict(NHibernate.Cache.CacheKey)">
            <summary>
            Called after an item has become stale (before the transaction completes).
            </summary>
            <param name="key"></param>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
            <remarks>This method is used by "synchronous" concurrency strategies.</remarks>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.Update(NHibernate.Cache.CacheKey,System.Object)">
            <summary>
            Called after an item has been updated (before the transaction completes),
            instead of calling Evict().
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <remarks>This method is used by "synchronous" concurrency strategies.</remarks>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.Insert(NHibernate.Cache.CacheKey,System.Object)">
            <summary>
            Called after an item has been inserted (before the transaction completes), instead of calling Evict().
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <remarks>This method is used by "synchronous" concurrency strategies.</remarks>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.Release(NHibernate.Cache.CacheKey,NHibernate.Cache.ISoftLock)">
            <summary>
            Called when we have finished the attempted update/delete (which may or
            may not have been successful), after transaction completion.
            </summary>
            <param name="key">The key</param>
            <param name="lock">The soft lock</param>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
            <remarks>This method is used by "asynchronous" concurrency strategies.</remarks>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.AfterUpdate(NHibernate.Cache.CacheKey,System.Object,System.Object,NHibernate.Cache.ISoftLock)">
            <summary>
            Called after an item has been updated (after the transaction completes),
            instead of calling Release().
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <param name="version"></param>
            <param name="lock"></param>
            <remarks>This method is used by "asynchronous" concurrency strategies.</remarks>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.AfterInsert(NHibernate.Cache.CacheKey,System.Object,System.Object)">
            <summary>
            Called after an item has been inserted (after the transaction completes), instead of calling release().
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <param name="version"></param>
            <remarks>This method is used by "asynchronous" concurrency strategies.</remarks>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.Remove(NHibernate.Cache.CacheKey)">
            <summary>
            Evict an item from the cache immediately (without regard for transaction isolation).
            </summary>
            <param name="key"></param>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.Clear">
            <summary>
            Evict all items from the cache immediately.
            </summary>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
        </member>
        <member name="M:NHibernate.Cache.ICacheConcurrencyStrategy.Destroy">
            <summary>
            Clean up all resources.
            </summary>
            <exception cref="T:NHibernate.Cache.CacheException"></exception>
        </member>
        <member name="P:NHibernate.Cache.ICacheConcurrencyStrategy.RegionName">
            <summary>
            Gets the cache region name.
            </summary>
        </member>
        <member name="P:NHibernate.Cache.ICacheConcurrencyStrategy.Cache">
            <summary>
            Gets or sets the <see cref="T:NHibernate.Cache.ICache"/> for this strategy to use.
            </summary>
            <value>The <see cref="T:NHibernate.Cache.ICache"/> for this strategy to use.</value>
        </member>
        <member name="T:NHibernate.Cache.IQueryCache">
            <summary>
            Defines the contract for caches capable of storing query results.  These
            caches should only concern themselves with storing the matching result ids.
            The transactional semantics are necessarily less strict than the semantics
            of an item cache.
            </summary>
        </member>
        <member name="T:NHibernate.Cache.IQueryCacheFactory">
            <summary>
            Defines a factory for query cache instances.  These factories are responsible for
            creating individual QueryCache instances.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.IQueryCacheFactory.GetQueryCache(System.String,NHibernate.Cache.UpdateTimestampsCache,NHibernate.Cfg.Settings,System.Collections.IDictionary)">
            <summary>
            
            </summary>
            <param name="regionName"></param>
            <param name="updateTimestampsCache"></param>
            <param name="settings"></param>
            <param name="props"></param>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Cache.NoCacheProvider">
            <summary>
            A cache provider placeholder used when caching is disabled.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.NoCacheProvider.BuildCache(System.String,System.Collections.IDictionary)">
            <summary>
            Configure the cache
            </summary>
            <param name="regionName">the name of the cache region</param>
            <param name="properties">configuration settings</param>
            <exception cref="T:NHibernate.Cache.CacheException"/>
        </member>
        <member name="M:NHibernate.Cache.NoCacheProvider.NextTimestamp">
            <summary>
            Generate a timestamp
            </summary>
        </member>
        <member name="M:NHibernate.Cache.NoCacheProvider.Start(System.Collections.IDictionary)">
            <summary>
            Callback to perform any necessary initialization of the underlying cache implementation during SessionFactory
            construction.
            </summary>
            <param name="properties">current configuration settings.</param>
        </member>
        <member name="M:NHibernate.Cache.NoCacheProvider.Stop">
            <summary>
            Callback to perform any necessary cleanup of the underlying cache implementation during SessionFactory.close().
            </summary>
        </member>
        <member name="T:NHibernate.Cache.NonstrictReadWriteCache">
            <summary>
            Caches data that is sometimes updated without ever locking the cache. 
            If concurrent access to an item is possible, this concurrency strategy 
            makes no guarantee that the item returned from the cache is the latest 
            version available in the database. Configure your cache timeout accordingly! 
            This is an "asynchronous" concurrency strategy.
            <seealso cref="T:NHibernate.Cache.ReadWriteCache"/> for a much stricter algorithm
            </summary>
        </member>
        <member name="M:NHibernate.Cache.NonstrictReadWriteCache.Get(NHibernate.Cache.CacheKey,System.Int64)">
            <summary>
            Get the most recent version, if available.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.NonstrictReadWriteCache.Put(NHibernate.Cache.CacheKey,System.Object,System.Int64,System.Object,System.Collections.IComparer,System.Boolean)">
            <summary>
            Add an item to the cache
            </summary>
        </member>
        <member name="M:NHibernate.Cache.NonstrictReadWriteCache.Lock(NHibernate.Cache.CacheKey,System.Object)">
            <summary>
            Do nothing
            </summary>
        </member>
        <member name="M:NHibernate.Cache.NonstrictReadWriteCache.Evict(NHibernate.Cache.CacheKey)">
            <summary>
            Invalidate the item
            </summary>
        </member>
        <member name="M:NHibernate.Cache.NonstrictReadWriteCache.Update(NHibernate.Cache.CacheKey,System.Object)">
            <summary>
            Invalidate the item
            </summary>
        </member>
        <member name="M:NHibernate.Cache.NonstrictReadWriteCache.Insert(NHibernate.Cache.CacheKey,System.Object)">
            <summary>
            Do nothing
            </summary>
        </member>
        <member name="M:NHibernate.Cache.NonstrictReadWriteCache.Release(NHibernate.Cache.CacheKey,NHibernate.Cache.ISoftLock)">
            <summary>
            Invalidate the item (again, for safety).
            </summary>
        </member>
        <member name="M:NHibernate.Cache.NonstrictReadWriteCache.AfterUpdate(NHibernate.Cache.CacheKey,System.Object,System.Object,NHibernate.Cache.ISoftLock)">
            <summary>
            Invalidate the item (again, for safety).
            </summary>
        </member>
        <member name="M:NHibernate.Cache.NonstrictReadWriteCache.AfterInsert(NHibernate.Cache.CacheKey,System.Object,System.Object)">
            <summary>
            Do nothing
            </summary>
        </member>
        <member name="P:NHibernate.Cache.NonstrictReadWriteCache.RegionName">
            <summary>
            Gets the cache region name.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.QueryKey.#ctor(NHibernate.Engine.ISessionFactoryImplementor,NHibernate.SqlCommand.SqlString,NHibernate.Engine.QueryParameters,Iesi.Collections.ISet)">
            <param name="factory">the sesion factory for this query key, required to get the identifiers of entities that are used as values.</param>
        </member>
        <member name="T:NHibernate.Cache.ReadOnlyCache">
            <summary>
            Caches data that is never updated
            </summary>
        </member>
        <member name="M:NHibernate.Cache.ReadOnlyCache.Lock(NHibernate.Cache.CacheKey,System.Object)">
            <summary>
            Unsupported!
            </summary>
        </member>
        <member name="M:NHibernate.Cache.ReadOnlyCache.Release(NHibernate.Cache.CacheKey,NHibernate.Cache.ISoftLock)">
            <summary>
            Unsupported!
            </summary>
        </member>
        <member name="M:NHibernate.Cache.ReadOnlyCache.AfterUpdate(NHibernate.Cache.CacheKey,System.Object,System.Object,NHibernate.Cache.ISoftLock)">
            <summary>
            Unsupported!
            </summary>
        </member>
        <member name="M:NHibernate.Cache.ReadOnlyCache.AfterInsert(NHibernate.Cache.CacheKey,System.Object,System.Object)">
            <summary>
            Do nothing.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.ReadOnlyCache.Evict(NHibernate.Cache.CacheKey)">
            <summary>
            Do nothing.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.ReadOnlyCache.Insert(NHibernate.Cache.CacheKey,System.Object)">
            <summary>
            Do nothing.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.ReadOnlyCache.Update(NHibernate.Cache.CacheKey,System.Object)">
            <summary>
            Unsupported!
            </summary>
        </member>
        <member name="P:NHibernate.Cache.ReadOnlyCache.RegionName">
            <summary>
            Gets the cache region name.
            </summary>
        </member>
        <member name="T:NHibernate.Cache.ReadWriteCache">
            <summary>
            Caches data that is sometimes updated while maintaining the semantics of
            "read committed" isolation level. If the database is set to "repeatable
            read", this concurrency strategy <em>almost</em> maintains the semantics.
            Repeatable read isolation is compromised in the case of concurrent writes.
            This is an "asynchronous" concurrency strategy.
            </summary>
            <remarks>
            If this strategy is used in a cluster, the underlying cache implementation
            must support distributed hard locks (which are held only momentarily). This
            strategy also assumes that the underlying cache implementation does not do
            asynchronous replication and that state has been fully replicated as soon
            as the lock is released.
            <seealso cref="T:NHibernate.Cache.NonstrictReadWriteCache"/> for a faster algorithm
            <seealso cref="T:NHibernate.Cache.ICacheConcurrencyStrategy"/>
            </remarks>
        </member>
        <member name="M:NHibernate.Cache.ReadWriteCache.NextLockId">
            <summary>
            Generate an id for a new lock. Uniqueness per cache instance is very
            desirable but not absolutely critical. Must be called from one of the
            synchronized methods of this class.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cache.ReadWriteCache.Get(NHibernate.Cache.CacheKey,System.Int64)">
            <summary>
            Do not return an item whose timestamp is later than the current
            transaction timestamp. (Otherwise we might compromise repeatable
            read unnecessarily.) Do not return an item which is soft-locked.
            Always go straight to the database instead.
            </summary>
            <remarks>
            Note that since reading an item from that cache does not actually
            go to the database, it is possible to see a kind of phantom read
            due to the underlying row being updated after we have read it
            from the cache. This would not be possible in a lock-based
            implementation of repeatable read isolation. It is also possible
            to overwrite changes made and committed by another transaction
            after the current transaction read the item from the cache. This
            problem would be caught by the update-time version-checking, if 
            the data is versioned or timestamped.
            </remarks>
        </member>
        <member name="M:NHibernate.Cache.ReadWriteCache.Lock(NHibernate.Cache.CacheKey,System.Object)">
            <summary>
            Stop any other transactions reading or writing this item to/from
            the cache. Send them straight to the database instead. (The lock
            does time out eventually.) This implementation tracks concurrent
            locks by transactions which simultaneously attempt to write to an
            item.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.ReadWriteCache.Put(NHibernate.Cache.CacheKey,System.Object,System.Int64,System.Object,System.Collections.IComparer,System.Boolean)">
            <summary>
            Do not add an item to the cache unless the current transaction
            timestamp is later than the timestamp at which the item was
            invalidated. (Otherwise, a stale item might be re-added if the
            database is operating in repeatable read isolation mode.)
            </summary>
            <returns>Whether the item was actually put into the cache</returns>
        </member>
        <member name="M:NHibernate.Cache.ReadWriteCache.DecrementLock(System.Object,NHibernate.Cache.CacheLock)">
            <summary>
            decrement a lock and put it back in the cache
            </summary>
        </member>
        <member name="M:NHibernate.Cache.ReadWriteCache.AfterUpdate(NHibernate.Cache.CacheKey,System.Object,System.Object,NHibernate.Cache.ISoftLock)">
            <summary>
            Re-cache the updated state, if and only if there there are
            no other concurrent soft locks. Release our lock.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.ReadWriteCache.IsUnlockable(NHibernate.Cache.ISoftLock,NHibernate.Cache.ILockable)">
            <summary>
            Is the client's lock commensurate with the item in the cache?
            If it is not, we know that the cache expired the original
            lock.
            </summary>
        </member>
        <member name="P:NHibernate.Cache.ReadWriteCache.RegionName">
            <summary>
            Gets the cache region name.
            </summary>
        </member>
        <member name="T:NHibernate.Cache.StandardQueryCache">
            <summary>
            The standard implementation of the Hibernate <see cref="T:NHibernate.Cache.IQueryCache"/>
            interface.  This implementation is very good at recognizing stale query
            results and re-running queries when it detects this condition, recaching
            the new results.
            </summary>
        </member>
        <member name="T:NHibernate.Cache.StandardQueryCacheFactory">
            <summary>
            Standard Hibernate implementation of the IQueryCacheFactory interface.  Returns
            instances of <see cref="T:NHibernate.Cache.StandardQueryCache"/>.
            </summary>
        </member>
        <member name="T:NHibernate.Cache.Timestamper">
            <summary>
            Generates increasing identifiers (in a single application domain only).
            </summary>
            <remarks>
            Not valid across multiple application domains. Identifiers are not necessarily
            strictly increasing, but usually are.
            </remarks>
        </member>
        <member name="F:NHibernate.Cache.Timestamper.OneMs">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Cache.Timestamper.Next">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Cache.UpdateTimestampsCache">
            <summary>
            Tracks the timestamps of the most recent updates to particular tables. It is
            important that the cache timeout of the underlying cache implementation be set
            to a higher value than the timeouts of any of the query caches. In fact, we 
            recommend that the the underlying cache not be configured for expiry at all.
            Note, in particular, that an LRU cache expiry policy is never appropriate.
            </summary>
        </member>
        <member name="M:NHibernate.Cache.UpdateTimestampsCache.Invalidate(System.Object[])">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Cfg.AssemblyHbmOrderer">
            <summary>
            Analyzes the contents of the <c>hbm.xml</c> files embedded in the 
            <see cref="T:System.Reflection.Assembly"/> for their dependency order.
            </summary>
            <remarks>
            This solves the problem caused when you have embedded <c>hbm.xml</c> files
            that contain subclasses/joined-subclasses that make use of the <c>extends</c>
            attribute.  This ensures that those subclasses/joined-subclasses will not be
            processed until after the class they extend is processed.
            </remarks>
        </member>
        <member name="F:NHibernate.Cfg.AssemblyHbmOrderer._classes">
            <summary>
            An unordered <see cref="T:System.Collections.IList"/> of all the mapped classes contained
            in the assembly.
            </summary>
        </member>
        <member name="F:NHibernate.Cfg.AssemblyHbmOrderer._hbmResources">
            <summary>
            An <see cref="T:System.Collections.IList"/> of all the <c>hbm.xml</c> resources found
            in the assembly.
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.AssemblyHbmOrderer.CreateWithAllResourcesIn(System.Reflection.Assembly)">
            <summary>
            Creates a new instance of AssemblyHbmOrderer with all embedded resources
            ending in <c>.hbm.xml</c> added.
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.AssemblyHbmOrderer.#ctor(System.Reflection.Assembly)">
            <summary>
            Creates a new instance of <see cref="T:NHibernate.Cfg.AssemblyHbmOrderer"/>
            </summary>
            <param name="assembly">The <see cref="T:System.Reflection.Assembly"/> to get resources from.</param>
        </member>
        <member name="M:NHibernate.Cfg.AssemblyHbmOrderer.GetHbmFiles">
            <summary>
            Gets an <see cref="T:System.Collections.IList"/> of <c>hbm.xml</c> resources in the correct order.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IList"/> of <c>hbm.xml</c> resources in the correct order.
            </returns>
        </member>
        <member name="M:NHibernate.Cfg.AssemblyHbmOrderer.OrderedHbmFiles(System.Collections.IList)">
            <summary>
            Returns an <see cref="T:System.Collections.IList"/> of <c>hbm.xml</c> files in the order that ensures
            base classes are loaded before their subclass/joined-subclass.
            </summary>
            <param name="unorderedClasses">An <see cref="T:System.Collections.IList"/> of <see cref="T:NHibernate.Cfg.AssemblyHbmOrderer.ClassEntry"/> objects.</param>
            <returns>
            An <see cref="T:System.Collections.IList"/> of <see cref="T:System.String"/> objects that contain the <c>hbm.xml</c> file names.
            </returns>
        </member>
        <member name="T:NHibernate.Cfg.AssemblyHbmOrderer.ClassEntry">
            <summary>
            Holds information about mapped classes found in the <c>hbm.xml</c> files.
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.AssemblyHbmOrderer.ClassEntry.BaseClassName">
            <summary>
            Gets the name of the Class that this Class inherits from, or <c>null</c>
            if this does not inherit from any mapped Class.
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.AssemblyHbmOrderer.ClassEntry.ClassName">
            <summary>
            Gets the name of this Class.
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.AssemblyHbmOrderer.ClassEntry.FileName">
            <summary>
            Gets the name of the <c>hbm.xml</c> file this class was found in.
            </summary>
        </member>
        <member name="T:NHibernate.Cfg.Configuration">
            <summary>
            An instance of <c>Configuration</c> allows the application to specify properties
            and mapping documents to be used when creating a <c>ISessionFactory</c>.
            </summary>
            <remarks>
            Usually an application will create a single <c>Configuration</c>, build a single instance
            of <c>ISessionFactory</c>, and then instanciate <c>ISession</c>s in threads servicing
            client requests.
            <para>
            The <c>Configuration</c> is meant only as an initialization-time object. <c>ISessionFactory</c>s
            are immutable and do not retain any association back to the <c>Configuration</c>
            </para>
            </remarks>
        </member>
        <member name="F:NHibernate.Cfg.Configuration.MappingSchemaXMLNS">
            <summary>
            The XML Namespace for the nhibernate-mapping
            </summary>
        </member>
        <member name="F:NHibernate.Cfg.Configuration.CfgSchemaXMLNS">
            <summary>
            The XML Namespace for the nhibernate-configuration
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.Reset">
            <summary>
            Clear the internal state of the <see cref="T:NHibernate.Cfg.Configuration"/> object.
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.#ctor">
            <summary>
            Create a new Configuration object.
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.GetClassMapping(System.Type)">
            <summary>
            Get the mapping for a particular class
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.GetCollectionMapping(System.String)">
            <summary>
            Get the mapping for a particular collection role
            </summary>
            <param name="role">a collection role</param>
            <returns><see cref="T:NHibernate.Mapping.Collection"/></returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddFile(System.String)">
            <summary>
            Read mappings from a particular XML file. This method is equivalent
            to <see cref="M:NHibernate.Cfg.Configuration.AddXmlFile(System.String)"/>.
            </summary>
            <param name="xmlFile"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddXmlFile(System.String)">
            <summary>
            Read mappings from a particular XML file.
            </summary>
            <param name="xmlFile">a path to a file</param>
            <returns>This configuration object.</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddXml(System.String,System.String)">
            <summary>
            Read mappings from a <c>string</c>. This method is equivalent to
            <see cref="M:NHibernate.Cfg.Configuration.AddXmlString(System.String)"/>.
            </summary>
            <param name="xml">an XML string</param>
            <param name="name">The name to use in error reporting. May be <c>null</c>.</param>
            <returns>This configuration object.</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddXmlString(System.String)">
            <summary>
            Read mappings from a <c>string</c>
            </summary>
            <param name="xml">an XML string</param>
            <returns>This configuration object.</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddUrl(System.String)">
            <summary>
            Read mappings from a URL.
            </summary>
            <param name="url">a URL</param>
            <returns>This configuration object.</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddUrl(System.Uri)">
            <summary>
            Read mappings from a URL.
            </summary>
            <param name="url">a <see cref="T:System.Uri"/> to read the mappings from.</param>
            <returns>This configuration object.</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddDocument(System.Xml.XmlDocument,System.String)">
            <summary>
            Read mappings from an <c>XmlDocument</c>.
            </summary>
            <param name="doc">A loaded XmlDocument that contains the Mappings.</param>
            <param name="name">The name of the document, for error reporting purposes.</param>
            <returns>This Configuration object.</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddValidatedDocument(System.Xml.XmlDocument,System.String)">
            <summary>
            Takes the validated XmlDocument and has the Binder do its work of
            creating Mapping objects from the Mapping Xml.
            </summary>
            <param name="doc">The <b>validated</b> XmlDocument that contains the Mappings.</param>
            <param name="name">The name of the document, for error reporting purposes.</param>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.CreateMappings">
            <summary>
            Create a new <c>Mappings</c> to add classes and collection
            mappings to.
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddInputStream(System.IO.Stream)">
            <summary>
            Read mappings from a <c>Stream</c>.
            </summary>
            <param name="xmlInputStream">The stream containing XML</param>
            <returns>This Configuration object.</returns>
            <remarks>
            The <see cref="T:System.IO.Stream"/> passed in through the parameter <c>xmlInputStream</c>
            is not <b>guaranteed</b> to be cleaned up by this method.  It is the callers responsiblity to
            ensure that the <c>xmlInputStream</c> is properly handled when this method
            completes.
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddInputStream(System.IO.Stream,System.String)">
            <summary>
            Read mappings from a <c>Stream</c>.
            </summary>
            <param name="xmlInputStream">The stream containing XML</param>
            <param name="name">The name of the stream to use in error reporting. May be <c>null</c>.</param>
            <returns>This Configuration object.</returns>
            <remarks>
            The <see cref="T:System.IO.Stream"/> passed in through the parameter <c>xmlInputStream</c>
            is not <b>guaranteed</b> to be cleaned up by this method.  It is the callers responsiblity to
            ensure that the <c>xmlInputStream</c> is properly handled when this method
            completes.
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddResource(System.String,System.Reflection.Assembly)">
            <summary>
            Adds the Mappings in the Resource of the Assembly.
            </summary>
            <param name="path">The path to the Resource file in the Assembly</param>
            <param name="assembly">The Assembly that contains the Resource file.</param>
            <returns>This Configuration object.</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddClass(System.Type)">
            <summary>
            Read a mapping from an application resource, using a convention.
            The class <c>Foo.Bar.Foo</c> is mapped by the resource named
            <c>Foo.Bar.Foo.hbm.xml</c>, embedded in the class' assembly.
            </summary>
            <param name="persistentClass">The type to map.</param>
            <returns>This configuration object.</returns>
            <remarks>
            If the mappings and classes are defined in different assemblies
            or don't follow the naming convention, then this method cannot
            be used.
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddAssembly(System.String)">
            <summary>
            Adds all of the Assembly's Resource files that end with "<c>hbm.xml</c>"
            </summary>
            <param name="assemblyName">The name of the Assembly to load.</param>
            <returns>This Configuration object.</returns>
            <remarks>
            The Assembly must be in the local bin, probing path, or GAC so that the
            Assembly can be loaded by name.  If these conditions are not satisfied
            then your code should load the Assembly and call the override 
            <see cref="M:NHibernate.Cfg.Configuration.AddAssembly(System.Reflection.Assembly)"/> instead.
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddAssembly(System.Reflection.Assembly)">
            <summary>
            Adds all of the Assembly's Resource files that end with "hbm.xml" 
            </summary>
            <param name="assembly">The loaded Assembly.</param>
            <returns>This Configuration object.</returns>
            <remarks>
            This assumes that the <c>hbm.xml</c> files in the Assembly need to be put
            in the correct order by NHibernate.  See <see cref="M:NHibernate.Cfg.Configuration.AddAssembly(System.Reflection.Assembly,System.Boolean)">
            AddAssembly(Assembly assembly, bool skipOrdering)</see>
            for the impacts and reasons for letting NHibernate order the 
            <c>hbm.xml</c> files.
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddAssembly(System.Reflection.Assembly,System.Boolean)">
            <summary>
            Adds all of the Assembly's Resource files that end with "hbm.xml" 
            </summary>
            <param name="assembly">The loaded Assembly.</param>
            <param name="skipOrdering">
            A <see cref="T:System.Boolean"/> indicating if the ordering of hbm.xml files can be skipped.
            </param>
            <returns>This Configuration object.</returns>
            <remarks>
            <p>
            The order of <c>hbm.xml</c> files only matters if the attribute "extends" is used.
            The ordering should only be done when needed because it takes extra time 
            to read the Xml files to find out the order the files should be passed to the Binder.  
            If you don't use the "extends" attribute then it is reccommended to call this 
            with <c>skipOrdering=true</c>.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddDirectory(System.IO.DirectoryInfo)">
            <summary>
            Read all mapping documents from a directory tree. Assume that any
            file named <c>*.hbm.xml</c> is a mapping document.
            </summary>
            <param name="dir">a directory</param>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.GenerateDropSchemaScript(NHibernate.Dialect.Dialect)">
            <summary>
            Generate DDL for droping tables
            </summary>
            <remarks>
            <seealso cref="T:NHibernate.Tool.hbm2ddl.SchemaExport"/>
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.GenerateSchemaCreationScript(NHibernate.Dialect.Dialect)">
            <summary>
            Generate DDL for creating tables
            </summary>
            <param name="dialect"></param>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.SecondPassCompile">
            <remarks>
            This method may be called many times!!
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.BuildSessionFactory">
            <summary>
            Instantitate a new <c>ISessionFactory</c>, using the properties and mappings in this
            configuration. The <c>ISessionFactory</c> will be immutable, so changes made to the
            <c>Configuration</c> after building the <c>ISessionFactory</c> will not affect it.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.SetDefaultAssembly(System.String)">
            <summary>
            Set the default assembly to use for the mappings added to the configuration
            afterwards.
            </summary>
            <remarks>
            This setting can be overridden for a mapping file by setting <c>default-assembly</c>
            attribute of <c>&lt;hibernate-mapping&gt;</c> element.
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.SetDefaultNamespace(System.String)">
            <summary>
            Set the default namespace to use for the mappings added to the configuration
            afterwards.
            </summary>
            <remarks>
            This setting can be overridden for a mapping file by setting <c>default-namespace</c>
            attribute of <c>&lt;hibernate-mapping&gt;</c> element.
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.SetInterceptor(NHibernate.IInterceptor)">
            <summary>
            Configure an <see cref="T:NHibernate.IInterceptor"/>
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.SetProperties(System.Collections.IDictionary)">
            <summary>
            Specify a completely new set of properties
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddProperties(System.Collections.IDictionary)">
            <summary>
            Adds an <see cref="T:System.Collections.IDictionary"/> of configuration properties.  The 
            Key is the name of the Property and the Value is the <see cref="T:System.String"/>
            value of the Property.
            </summary>
            <param name="properties">An <see cref="T:System.Collections.IDictionary"/> of configuration properties.</param>
            <returns>
            This <see cref="T:NHibernate.Cfg.Configuration"/> object.
            </returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.SetProperty(System.String,System.String)">
            <summary>
            Sets the value of the configuration property.
            </summary>
            <param name="name">The name of the property.</param>
            <param name="value">The value of the property.</param>
            <returns>
            This <see cref="T:NHibernate.Cfg.Configuration"/> object.
            </returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.GetProperty(System.String)">
            <summary>
            Gets the value of the configuration property.
            </summary>
            <param name="name">The name of the property.</param>
            <returns>The configured value of the property, or <c>null</c> if the property was not specified.</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.Configure">
            <summary>
            Configure NHibernate using the <c>&lt;hibernate-configuration&gt;</c> section
            from the application config file, if found, or the file <c>hibernate.cfg.xml</c>
            otherwise.
            </summary>
            <returns>A Configuration object initialized with the file.</returns>
            <remarks>
            To configure NHibernate explicitly using <c>hibernate.cfg.xml</c>, ignoring
            the application configuration file, use this code:
            <code>
            	configuration.Configure( "path/to/hibernate.cfg.xml" );
            </code>
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.Configure(System.Xml.XmlNode)">
            <summary>
            Configure NHibernate from an <see cref="T:System.Xml.XmlNode"/> representing the root
            <c>&lt;hibernate-configuration&gt;</c> element.
            </summary>
            <param name="node">Configuration node</param>
            <returns>This Configuration object</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.Configure(System.String)">
            <summary>
            Configure NHibernate using the file specified.
            </summary>
            <param name="fileName">The location of the XML file to use to configure NHibernate.</param>
            <returns>A Configuration object initialized with the file.</returns>
            <remarks>
            Calling Configure(string) will overwrite the values set in app.config or web.config
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.Configure(System.Reflection.Assembly,System.String)">
            <summary>
            Configure NHibernate using a resource contained in an Assembly.
            </summary>
            <param name="assembly">The <see cref="T:System.Reflection.Assembly"/> that contains the resource.</param>
            <param name="resourceName">The name of the manifest resource being requested.</param>
            <returns>A Configuration object initialized from the manifest resource.</returns>
            <remarks>
            Calling Configure(Assembly, string) will overwrite the values set in app.config or web.config
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.Configure(System.Xml.XmlTextReader)">
            <summary>
            Configure NHibernate using the specified XmlTextReader.
            </summary>
            <param name="reader">The <see cref="T:System.Xml.XmlTextReader"/> that contains the Xml to configure NHibernate.</param>
            <returns>A Configuration object initialized with the file.</returns>
            <remarks>
            Calling Configure(XmlTextReader) will overwrite the values set in app.config or web.config
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.SetCacheConcurrencyStrategy(System.Type,System.String)">
            <summary>
            Set up a cache for an entity class
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.SetCacheConcurrencyStrategy(System.String,System.String)">
            <summary>
            Set up a cache for a collection role
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.BuildSettings">
            <summary>
            Create an object-oriented view of the configuration properties
            </summary>
            <returns>A <see cref="T:NHibernate.Cfg.Settings"/> object initialized from the settings properties.</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.SetNamingStrategy(NHibernate.Cfg.INamingStrategy)">
            <summary>
            Set a custom naming strategy
            </summary>
            <param name="namingStrategy">the NamingStrategy to set</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.LoadMappingDocument(System.Xml.XmlTextReader,System.String)">
            <summary>
            Load and validate the mappings in the <see cref="T:System.Xml.XmlTextReader"/> against
            the nhibernate-mapping-2.2 schema, without adding them to the configuration.
            </summary>
            <remarks>
            This method is made public to be usable from the unit tests. It is not intended
            to be called by end users.
            </remarks>
            <param name="hbmReader">The XmlReader that contains the mapping.</param>
            <param name="name">The name of the document, for error reporting purposes.</param>
            <returns>Validated XmlDocument built from the XmlReader.</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddXmlReader(System.Xml.XmlTextReader)">
            <summary>
            Adds the Mappings in the <see cref="T:System.Xml.XmlTextReader"/> after validating it
            against the nhibernate-mapping-2.2 schema.
            </summary>
            <param name="hbmReader">The XmlTextReader that contains the mapping.</param>
            <returns>This Configuration object.</returns>
        </member>
        <member name="M:NHibernate.Cfg.Configuration.AddXmlReader(System.Xml.XmlTextReader,System.String)">
            <summary>
            Adds the Mappings in the <see cref="T:System.Xml.XmlTextReader"/> after validating it
            against the nhibernate-mapping-2.2 schema.
            </summary>
            <param name="hbmReader">The XmlTextReader that contains the mapping.</param>
            <param name="name">The name of the document to use for error reporting. May be <c>null</c>.</param>
            <returns>This Configuration object.</returns>
        </member>
        <member name="P:NHibernate.Cfg.Configuration.MappingSchemaCollection">
            <summary></summary>
            <remarks>Allocate on first use as we are expensive in time/space</remarks>
        </member>
        <member name="P:NHibernate.Cfg.Configuration.CfgSchemaCollection">
            <summary></summary>
            <remarks>Allocate on first use as we are expensive in time/space</remarks>
        </member>
        <member name="P:NHibernate.Cfg.Configuration.ClassMappings">
            <summary>
            The class mappings 
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.Configuration.CollectionMappings">
            <summary>
            The collection mappings
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.Configuration.TableMappings">
            <summary>
            The table mappings
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.Configuration.NamedQueries">
            <summary>
            The named queries
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.Configuration.Interceptor">
            <summary>
            Gets or sets the <see cref="T:NHibernate.IInterceptor"/> to use.
            </summary>
            <value>The <see cref="T:NHibernate.IInterceptor"/> to use.</value>
        </member>
        <member name="P:NHibernate.Cfg.Configuration.Properties">
            <summary>
            Gets or sets the <see cref="T:System.Collections.IDictionary"/> that contains the configuration
            Properties and their values.
            </summary>
            <value>
            The <see cref="T:System.Collections.IDictionary"/> that contains the configuration
            Properties and their values.
            </value>
        </member>
        <member name="P:NHibernate.Cfg.Configuration.Imports">
            <summary>
            Get the query language imports
            </summary>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Cfg.Configuration.NamedSQLQueries">
            <summary>
            The named SQL queries
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.Configuration.NamingStrategy">
            <summary>
            Naming strategy for tables and columns
            </summary>
        </member>
        <member name="T:NHibernate.Engine.IMapping">
            <summary>
            Defines operations common to "compiled" mappings (ie. <c>SessionFactory</c>) and
            "uncompiled" mappings (ie <c>Configuration</c> that are used by implementors of <c>IType</c>
            </summary>
        </member>
        <member name="M:NHibernate.Engine.IMapping.GetIdentifierType(System.Type)">
            <summary>
            
            </summary>
            <param name="persistentClass"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.IMapping.GetIdentifierPropertyName(System.Type)">
            <summary>
            
            </summary>
            <param name="persistentClass"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.IMapping.GetPropertyType(System.Type,System.String)">
            <summary>
            
            </summary>
            <param name="persistentClass"></param>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Cfg.ConfigurationSectionHandler">
            <summary>
            Summary description for ConfigurationSectionHandler.
            </summary>
        </member>
        <member name="T:NHibernate.Cfg.DefaultNamingStrategy">
            <summary>
            The default <cref name="INamingStrategy"/>
            </summary>
            <remarks>See <cref name="ImprovedNamingStrategy"/> for a better alternative</remarks>
        </member>
        <member name="T:NHibernate.Cfg.INamingStrategy">
            <summary>
            A set of rules for determining the physical column and table names given the information in the mapping
            document. May be used to implement project-scoped naming standards for database objects.
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.INamingStrategy.ClassToTableName(System.String)">
            <summary>
            Return a table name for an entity class
            </summary>
            <param name="className">the fully-qualified class name</param>
            <returns>a table name</returns>
        </member>
        <member name="M:NHibernate.Cfg.INamingStrategy.PropertyToColumnName(System.String)">
            <summary>
            Return a column name for a property path expression 
            </summary>
            <param name="propertyName">a property path</param>
            <returns>a column name</returns>
        </member>
        <member name="M:NHibernate.Cfg.INamingStrategy.TableName(System.String)">
            <summary>
            Alter the table name given in the mapping document
            </summary>
            <param name="tableName">a table name</param>
            <returns>a table name</returns>
        </member>
        <member name="M:NHibernate.Cfg.INamingStrategy.ColumnName(System.String)">
            <summary>
            Alter the column name given in the mapping document
            </summary>
            <param name="columnName">a column name</param>
            <returns>a column name</returns>
        </member>
        <member name="M:NHibernate.Cfg.INamingStrategy.PropertyToTableName(System.String,System.String)">
            <summary>
            Return a table name for a collection
            </summary>
            <param name="className">the fully-qualified name of the owning entity class</param>
            <param name="propertyName">a property path</param>
            <returns>a table name</returns>
        </member>
        <member name="F:NHibernate.Cfg.DefaultNamingStrategy.Instance">
            <summary>
            The singleton instance
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.DefaultNamingStrategy.ClassToTableName(System.String)">
            <summary>
            Return the unqualified class name
            </summary>
            <param name="className"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.DefaultNamingStrategy.PropertyToColumnName(System.String)">
            <summary>
            Return the unqualified property name
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.DefaultNamingStrategy.TableName(System.String)">
            <summary>
            Return the argument
            </summary>
            <param name="tableName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.DefaultNamingStrategy.ColumnName(System.String)">
            <summary>
            Return the argument
            </summary>
            <param name="columnName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.DefaultNamingStrategy.PropertyToTableName(System.String,System.String)">
            <summary>
            Return the unqualified property name
            </summary>
            <param name="className"></param>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Cfg.Environment">
            <summary>
            Provides access to configuration info
            </summary>
            <remarks>
            Hibernate has two property scopes:
            <list>
            	<item>
            	 Factory-Level properties may be passed to the <c>ISessionFactory</c> when it is instantiated.
            	 Each instance might have different property values. If no properties are specified, the
            	 factory gets them from Environment
            	</item>
            	<item>
            	 System-Level properties are shared by all factory instances and are always determined
            	 by the <c>Environment</c> properties
            	</item>
            </list>
            In NHibernate, <c>&lt;nhibernate&gt;</c> section in the application configuration file
            corresponds to Java system-level properties; <c>&lt;hibernate-configuration&gt;</c>
            section is considered to be the session-factory-level configuration. It is possible
            to use the configuration file at the same time.
            </remarks>
        </member>
        <member name="F:NHibernate.Cfg.Environment.ConnectionStringName">
            <summary>
            Used to find the .Net 2.0 named connection string
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.Environment.VerifyProperties(System.Collections.IDictionary)">
            <summary>
            Issue warnings to user when any obsolete property names are used.
            </summary>
            <param name="props"></param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Cfg.Environment.Version">
            <summary>
            NHibernate version (informational).
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.Environment.Properties">
            <summary>
            Gets a copy of the configuration found in <c>&lt;nhibernate&gt;</c> section
            of app.config/web.config.
            </summary>
            <remarks>
            This is the replacement for hibernate.properties
            </remarks>
        </member>
        <member name="P:NHibernate.Cfg.Environment.BytecodeProvider">
            <summary>
            The bytecode provider to use.
            </summary>
            <remarks>
            This property is read from the <c>&lt;nhibernate&gt;</c> section
            of the application configuration file by default. Since it is not
            always convenient to configure NHibernate through the application
            configuration file, it is also possible to set the property value
            manually. This should only be done before a configuration object
            is created, otherwise the change may not take effect.
            </remarks>
        </member>
        <member name="P:NHibernate.Cfg.Environment.UseReflectionOptimizer">
            <summary>
            Whether to enable the use of reflection optimizer
            </summary>
            <remarks>
            This property is read from the <c>&lt;nhibernate&gt;</c> section
            of the application configuration file by default. Since it is not
            always convenient to configure NHibernate through the application
            configuration file, it is also possible to set the property value
            manually. This should only be done before a configuration object
            is created, otherwise the change may not take effect.
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.HbmBinder.FullClassName(System.String,NHibernate.Cfg.Mappings)">
            <summary>
            Converts a partial class name into a fully qualified one
            </summary>
            <param name="className"></param>
            <param name="mapping"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.HbmBinder.ClassForFullNameChecked(System.String,System.String)">
            <summary>
            Attempts to find a type by its full name. Throws a MappingException using
            the provided <c>errorMessage</c> in case of failure.
            </summary>
            <param name="fullName">name of the class to find</param>
            <param name="errorMessage">Error message to use for
            the <see cref="T:NHibernate.MappingException"/> in case of failure. Should contain
            the <c>{0}</c> formatting placeholder.</param>
            <returns></returns>
            <exception cref="T:NHibernate.MappingException">
            Thrown when there is an error loading the class.
            </exception>
        </member>
        <member name="M:NHibernate.Cfg.HbmBinder.ClassForNameChecked(System.String,NHibernate.Cfg.Mappings,System.String)">
            <summary>
            Similar to <see cref="M:NHibernate.Cfg.HbmBinder.ClassForFullNameChecked(System.String,System.String)"/>, but handles short class names
            by calling <see cref="M:NHibernate.Cfg.HbmBinder.FullClassName(System.String,NHibernate.Cfg.Mappings)"/>.
            </summary>
            <param name="name"></param>
            <param name="mappings"></param>
            <param name="errorMessage"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.HbmBinder.BindProperty(System.Xml.XmlNode,NHibernate.Mapping.Property,NHibernate.Cfg.Mappings)">
            <summary>
            
            </summary>
            <param name="node"></param>
            <param name="model"></param>
            <param name="mappings"></param>
        </member>
        <member name="M:NHibernate.Cfg.HbmBinder.BindCollection(System.Xml.XmlNode,NHibernate.Mapping.Collection,System.String,System.String,System.Type,NHibernate.Cfg.Mappings)">
            <remarks>
            Called for all collections. <paramref name="containingType" /> parameter
            was added in NH to allow for reflection related to generic types.
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.HbmBinder.BindArray(System.Xml.XmlNode,NHibernate.Mapping.Array,System.String,System.String,System.Type,NHibernate.Cfg.Mappings)">
            <remarks>
            Called for arrays and primitive arrays
            </remarks>
        </member>
        <member name="M:NHibernate.Cfg.HbmBinder.BindListSecondPass(System.Xml.XmlNode,NHibernate.Mapping.List,System.Collections.IDictionary,NHibernate.Cfg.Mappings)">
            <remarks>
            Called for Lists, arrays, primitive arrays
            </remarks>>
        </member>
        <member name="M:NHibernate.Cfg.HbmBinder.BindMapSecondPass(System.Xml.XmlNode,NHibernate.Mapping.Map,System.Collections.IDictionary,NHibernate.Cfg.Mappings)">
            <summary>
            Called for Maps
            </summary>
            <param name="node"></param>
            <param name="model"></param>
            <param name="classes"></param>
            <param name="mappings"></param>
        </member>
        <member name="M:NHibernate.Cfg.HbmBinder.BindCollectionSecondPass(System.Xml.XmlNode,NHibernate.Mapping.Collection,System.Collections.IDictionary,NHibernate.Cfg.Mappings)">
            <remarks>
            Called for all collections
            </remarks>
        </member>
        <member name="T:NHibernate.Cfg.ImprovedNamingStrategy">
            <summary>
            Summary description for ImprovedNamingStrategy.
            </summary>
        </member>
        <member name="F:NHibernate.Cfg.ImprovedNamingStrategy.Instance">
            <summary>
            The singleton instance
            </summary>
        </member>
        <member name="M:NHibernate.Cfg.ImprovedNamingStrategy.ClassToTableName(System.String)">
            <summary>
            Return the unqualified class name, mixed case converted to underscores
            </summary>
            <param name="className"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.ImprovedNamingStrategy.PropertyToColumnName(System.String)">
            <summary>
            Return the full property path with underscore seperators, mixed case converted to underscores
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.ImprovedNamingStrategy.TableName(System.String)">
            <summary>
            Convert mixed case to underscores
            </summary>
            <param name="tableName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.ImprovedNamingStrategy.ColumnName(System.String)">
            <summary>
            Convert mixed case to underscores
            </summary>
            <param name="columnName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.ImprovedNamingStrategy.PropertyToTableName(System.String,System.String)">
            <summary>
            Return the full property path prefixed by the unqualified class name, with underscore seperators, mixed case converted to underscores
            </summary>
            <param name="className"></param>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Cfg.Mappings">
            <summary>
            A collection of mappings from classes and collections to relational database tables.
            </summary>
            <remarks>Represents a single <c>&lt;hibernate-mapping&gt;</c> element.</remarks>
        </member>
        <member name="M:NHibernate.Cfg.Mappings.AddClass(NHibernate.Mapping.PersistentClass)">
            <summary>
            
            </summary>
            <param name="persistentClass"></param>
        </member>
        <member name="M:NHibernate.Cfg.Mappings.AddCollection(NHibernate.Mapping.Collection)">
            <summary>
            
            </summary>
            <param name="collection"></param>
        </member>
        <member name="M:NHibernate.Cfg.Mappings.AddUniquePropertyReference(System.Type,System.String)">
            <summary>
            
            </summary>
            <param name="referencedClass"></param>
            <param name="propertyName"></param>
        </member>
        <member name="M:NHibernate.Cfg.Mappings.GetClass(System.Type)">
            <summary>
            
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.Mappings.GetCollection(System.String)">
            <summary>
            
            </summary>
            <param name="role"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.Mappings.AddImport(System.String,System.String)">
            <summary>
            Adds an import to allow for the full class name <c>Namespace.BusClass</c> 
            to be referenced as <c>BusClass</c> or some other name in Hql.
            </summary>
            <param name="className">The name of the class that is being renamed.</param>
            <param name="rename">The new name to use in Hql for the class.</param>
            <exception cref="T:NHibernate.MappingException">Thrown when the rename already identifies another Class.</exception>
        </member>
        <member name="M:NHibernate.Cfg.Mappings.AddTable(System.String,System.String)">
            <summary>
            
            </summary>
            <param name="schema"></param>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Cfg.Mappings.GetTable(System.String,System.String)">
            <summary>
            
            </summary>
            <param name="schema"></param>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Cfg.Mappings.NamingStrategy">
            <summary>
            
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.Mappings.DefaultNamespace">
            <summary>
            The default namespace for persistent classes
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.Mappings.DefaultAssembly">
            <summary>
            The default assembly for persistent classes
            </summary>
        </member>
        <member name="P:NHibernate.Cfg.Mappings.SchemaName">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Cfg.Mappings.DefaultCascade">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Cfg.Mappings.DefaultAccess">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Cfg.Mappings.IsAutoImport">
            <summary>
            Gets or sets a boolean indicating if the Fully Qualified Type name should
            automattically have an import added as the class name.
            </summary>
            <value><c>true</c> if the class name should be used as an import.</value>
            <remarks>
            AutoImport is used to shorten the string used to refer to Types to just their
            class.  So if the type <c>MyAssembly.MyNamespace.MyClass, MyAssembly</c> has an <c>auto-import="false"</c>
            then all use of in HQL would need to be the fully qualified version <c>MyAssembly.MyNamespace.MyClass</c>.
            If <c>auto-import="true"</c> the the Type could be referred to in hql by just the class
            name of <c>MyClass</c>.
            </remarks>
        </member>
        <member name="T:NHibernate.Cfg.Settings">
            <summary>
            Settings that affect the behavior of NHibernate at runtime.
            </summary>
        </member>
        <member name="T:NHibernate.Cfg.SettingsFactory">
            <summary>
            Reads configuration properties and configures a <see cref="T:NHibernate.Cfg.Settings"/> instance. 
            </summary>
        </member>
        <member name="T:NHibernate.Classic.ILifecycle">
            <summary>
            Provides callbacks from the <c>ISession</c> to the persistent object. Persistent classes may
            implement this interface but they are not required to.
            </summary>
            <remarks>
            <para>
            <c>OnSave()</c>, <c>OnDelete()</c>, and <c>OnUpdate()</c> are intended to be used to cascade
            saves and deletions of dependent objects. This is an alternative to declaring cascaded operations
            in the mapping file.
            </para>
            <para>
            <c>OnLoad()</c> may be used to initialize transient properties of the object from its persistent
            state. It may <b>not</b> be used to load dependent objects since the <c>ISession</c> interface
            may not be invoked from inside this method
            </para>
            <para>
            A further intended usage of <c>OnLoad()</c>, <c>OnSave()</c>, and <c>OnUpdate()</c> is to store
            a reference to the <c>ISession</c> for later use.
            </para>
            <para>
            If <c>OnSave()</c>, <c>OnUpdate()</c>, or <c>OnDelete</c> return <c>Veto</c>, the operation is
            silently vetoed. If a <c>CallbackException</c> is thrown, the operation is vetoed and the
            exception is passed back to the application
            </para>
            <para>
            Note that <c>OnSave()</c> is called after an identifier is assigned to the object, exception when
            native key generation is used.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Classic.ILifecycle.OnSave(NHibernate.ISession)">
            <summary>
            Called when an entity is saved
            </summary>
            <param name="s">The session</param>
            <returns>If we should veto the save</returns>
        </member>
        <member name="M:NHibernate.Classic.ILifecycle.OnUpdate(NHibernate.ISession)">
            <summary>
            Called when an entity is passed to <c>ISession.Update()</c>.
            </summary>
            <remarks>
            This method is <em>not</em> called every time the object's state is
            persisted during a flush.
            </remarks>
            <param name="s">The session</param>
            <returns>If we should veto the update</returns>
        </member>
        <member name="M:NHibernate.Classic.ILifecycle.OnDelete(NHibernate.ISession)">
            <summary>
            Called when an entity is deleted
            </summary>
            <param name="s">The session</param>
            <returns>If we should veto the delete</returns>
        </member>
        <member name="M:NHibernate.Classic.ILifecycle.OnLoad(NHibernate.ISession,System.Object)">
            <summary>
            Called after an entity is loaded. 
            </summary>
            <remarks>
            <em>It is illegal to access the <c>ISession</c> from inside this method.</em>. 
            However, the object may keep a reference to the session for later use
            </remarks>
            <param name="s">The session</param>
            <param name="id">The identifier</param>
        </member>
        <member name="T:NHibernate.Classic.LifecycleVeto">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Classic.LifecycleVeto.Veto">
            <summary>
            Veto the action
            </summary>
        </member>
        <member name="F:NHibernate.Classic.LifecycleVeto.NoVeto">
            <summary>
            Accept the action
            </summary>
        </member>
        <member name="T:NHibernate.Classic.IValidatable">
            <summary>
            Implemented by persistent classes with invariants that must be checked before inserting
            into or updating the database
            </summary>
        </member>
        <member name="M:NHibernate.Classic.IValidatable.Validate">
            <summary>
            Validate the state of the object before persisting it. If a violation occurs,
            throw a <c>ValidationFailure</c>. This method must not change the state of the object
            by side-effect.
            </summary>
        </member>
        <member name="T:NHibernate.Classic.ValidationFailure">
            <summary>
            Thrown from <c>IValidatable.Validate()</c> when an invariant was violated. Some applications
            might subclass this exception in order to provide more information about the violation
            </summary>
        </member>
        <member name="M:NHibernate.Classic.ValidationFailure.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Classic.ValidationFailure"/> class.
            </summary>
        </member>
        <member name="M:NHibernate.Classic.ValidationFailure.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Classic.ValidationFailure"/> class.
            </summary>
            <param name="message">The message that describes the error. </param>
        </member>
        <member name="M:NHibernate.Classic.ValidationFailure.#ctor(System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Classic.ValidationFailure"/> class.
            </summary>
            <param name="innerException">
            The exception that is the cause of the current exception. If the innerException parameter 
            is not a null reference, the current exception is raised in a catch block that handles 
            the inner exception.
            </param>
        </member>
        <member name="M:NHibernate.Classic.ValidationFailure.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Classic.ValidationFailure"/> class.
            </summary>
            <param name="message">The message that describes the error. </param>
            <param name="innerException">
            The exception that is the cause of the current exception. If the innerException parameter 
            is not a null reference, the current exception is raised in a catch block that handles 
            the inner exception.
            </param>
        </member>
        <member name="M:NHibernate.Classic.ValidationFailure.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Classic.ValidationFailure"/> class
            with serialized data.
            </summary>
            <param name="info">
            The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object 
            data about the exception being thrown.
            </param>
            <param name="context">
            The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.
            </param>
        </member>
        <member name="T:NHibernate.Collection.Generic.PersistentGenericBag`1">
            <summary>
            An unordered, unkeyed collection that can contain the same element
            multiple times. The .NET collections API, has no <c>Bag</c>.
            The <see cref="T:System.Collections.Generic.ICollection`1"/> interface closely resembles bag semantics,
            however NHibernate for net-1.1 used <see cref="T:System.Collections.IList"/> so 
            <see cref="T:System.Collections.Generic.IList`1"/> is used to ensure the easiest transition
            to generics.
            </summary>
            <typeparam name="T">The type of the element the bag should hold.</typeparam>
            <remarks>The underlying collection used is an <see cref="T:System.Collections.Generic.List`1"/></remarks>
        </member>
        <member name="T:NHibernate.Collection.AbstractPersistentCollection">
            <summary>
            Base class for implementing <see cref="T:NHibernate.Collection.IPersistentCollection"/>.
            </summary>
        </member>
        <member name="T:NHibernate.Collection.IPersistentCollection">
            <summary>
            <para>
            Persistent collections are treated as value objects by NHibernate.
            ie. they have no independent existence beyond the object holding
            a reference to them. Unlike instances of entity classes, they are
            automatically deleted when unreferenced and automatically become
            persistent when held by a persistent object. Collections can be
            passed between different objects (change "roles") and this might
            cause their elements to move from one database table to another.
            </para>
            <para>
            NHibernate "wraps" a collection in an instance of
            <see cref="T:NHibernate.Collection.IPersistentCollection"/>. This mechanism is designed
            to support tracking of changes to the collection's persistent
            state and lazy instantiation of collection elements. The downside
            is that only certain abstract collection types are supported and
            any extra semantics are lost.
            </para>
            <para>
            Applications should <b>never</b> use classes in this namespace
            directly, unless extending the "framework" here.
            </para>
            <para>
            Changes to <b>structure</b> of the collection are recorded by the
            collection calling back to the session. Changes to mutable
            elements (ie. composite elements) are discovered by cloning their
            state when the collection is initialized and comparing at flush
            time.
            </para>
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.PostAction">
            <summary>
            Clears out any Queued Additions.
            </summary>
            <remarks>
            After a Flush() the database is in synch with the in-memory
            contents of the Collection.  Since everything is in synch remove
            any Queued Additions.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.GetValue">
            <summary>
            Return the user-visible collection (or array) instance
            </summary>
            <returns>
            By default, the NHibernate wrapper is an acceptable collection for
            the end user code to work with because it is interface compatible.
            An NHibernate PersistentList is an IList, an NHibernate PersistentMap is an IDictionary
            and those are the types user code is expecting.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.BeginRead">
            <summary>
            Called just before reading any rows from the <see cref="T:System.Data.IDataReader"/>
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.EndRead(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Called after reading all rows from the <see cref="T:System.Data.IDataReader"/>
            </summary>
            <remarks>
            This should be overridden by sub collections that use temporary collections
            to store values read from the db.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.UnsetSession(NHibernate.Engine.ISessionImplementor)">
            <summary>
            Disassociate this collection from the given session.
            </summary>
            <param name="session"></param>
            <returns>true if this was currently associated with the given session</returns>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.SetCurrentSession(NHibernate.Engine.ISessionImplementor)">
            <summary>
            Associate the collection with the given session.
            </summary>
            <param name="session"></param>
            <returns>false if the collection was already associated with the session</returns>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.InitializeFromCache(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Object)">
            <summary>
            Read the state of the collection from a disassembled cached value.
            </summary>
            <param name="persister"></param>
            <param name="disassembled"></param>
            <param name="owner"></param>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.Entries">
            <summary>
            Iterate all collection entries, during update of the database
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerable"/> that gives access to all entries
            in the collection.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.ReadFrom(System.Data.IDataReader,NHibernate.Persister.Collection.ICollectionPersister,NHibernate.Loader.ICollectionAliases,System.Object)">
            <summary>
            Reads the row from the <see cref="T:System.Data.IDataReader"/>.
            </summary>
            <param name="reader">The IDataReader that contains the value of the Identifier</param>
            <param name="role">The persister for this Collection.</param>
            <param name="descriptor">The descriptor providing result set column names</param>
            <param name="owner">The owner of this Collection.</param>
            <returns>The object that was contained in the row.</returns>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.GetIdentifier(System.Object,System.Int32)">
            <summary>
            Get the identifier of the given collection entry
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.GetIndex(System.Object,System.Int32)">
            <summary>
            Get the index of the given collection entry
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.GetElement(System.Object)">
            <summary>
            Get the value of the given collection entry
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.BeforeInitialize(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Called before any elements are read into the collection,
            allowing appropriate initializations to occur.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> for this persistent collection.</param>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.EqualsSnapshot(NHibernate.Type.IType)">
            <summary>
            Does the current state exactly match the snapshot?
            </summary>
            <param name="elementType">The <see cref="T:NHibernate.Type.IType"/> to compare the elements of the Collection.</param>
            <returns>
            <c>true</c> if the wrapped collection is different than the snapshot
            of the collection or if one of the elements in the collection is
            dirty.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.Disassemble(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Disassemble the collection, ready for the cache
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> for this Collection.</param>
            <returns>The contents of the persistent collection in a cacheable form.</returns>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.NeedsRecreate(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Gets a <see cref="T:System.Boolean"/> indicating if the rows for this collection
            need to be recreated in the table.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> for this Collection.</param>
            <returns>
            <c>false</c> by default since most collections can determine which rows need to be
            individually updated/inserted/deleted.  Currently only <see cref="T:NHibernate.Collection.PersistentBag"/>'s for <c>many-to-many</c>
            need to be recreated.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.GetSnapshot(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Return a new snapshot of the current state of the collection
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.ForceInitialization">
            <summary>
            To be called internally by the session, forcing
            immediate initalization.
            </summary>
            <remarks>
            This method is similar to <see cref="M:NHibernate.Collection.AbstractPersistentCollection.Initialize(System.Boolean)"/>, except that different exceptions are thrown.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.EntryExists(System.Object,System.Int32)">
            <summary>
            Does an element exist at this entry in the collection?
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.NeedsInserting(System.Object,System.Int32,NHibernate.Type.IType)">
            <summary>
            Do we need to insert this element?
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.NeedsUpdating(System.Object,System.Int32,NHibernate.Type.IType)">
            <summary>
            Do we need to update this element?
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.GetDeletes(NHibernate.Type.IType,System.Boolean)">
            <summary>
            Get all the elements that need deleting
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.IsWrapper(System.Object)">
            <summary>
            Is this the wrapper for the given underlying collection instance?
            </summary>
            <param name="collection">The collection to see if this IPersistentCollection is wrapping.</param>
            <returns>
            <c>true</c> if the IPersistentCollection is wrappping the collection instance,
            <c>false</c> otherwise.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.PreInsert(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Called before inserting rows, to ensure that any surrogate keys are fully generated
            </summary>
            <param name="persister"></param>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.AfterRowInsert(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Int32)">
            <summary>
            Called after inserting a row, to fetch the natively generated id
            </summary>
            <param name="persister"></param>
            <param name="entry"></param>
            <param name="i"></param>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.GetOrphans(System.Object,System.Type)">
            <summary>
            Get all "orphaned" elements
            </summary>
            <param name="snapshot">The snapshot of the collection.</param>
            <param name="entityName">The persistent class whose objects
            the collection is expected to contain.</param>
            <returns>
            An <see cref="T:System.Collections.ICollection"/> that contains all of the elements
            that have been orphaned.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.GetSnapshotElement(System.Object,System.Int32)">
            <summary>
            Get the snapshot value of the given collection entry
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.AfterInitialize(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Called after initializing from cache
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.ClearDirty">
            <summary>
            Clear the dirty flag, after flushing changes
            to the database.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.IPersistentCollection.Dirty">
            <summary>
            Mark the collection as dirty
            </summary>
        </member>
        <member name="P:NHibernate.Collection.IPersistentCollection.Owner">
            <summary>
            The owning entity.
            </summary>
            <remarks>
            Note that the owner is only set during the flush
            cycle, and when a new collection wrapper is created
            while loading an entity.
            </remarks>
        </member>
        <member name="P:NHibernate.Collection.IPersistentCollection.Empty">
            <summary>
            Is the initialized collection empty?
            </summary>
        </member>
        <member name="P:NHibernate.Collection.IPersistentCollection.IsDirectlyAccessible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> indicating if the underlying collection is directly
            accessable through code.
            </summary>
            <value>
            <c>true</c> if we are not guaranteed that the NHibernate collection wrapper
            is being used.
            </value>
            <remarks>
            This is typically <c>false</c> whenever a transient object that contains a collection is being
            associated with an ISession through <c>Save</c> or <c>SaveOrUpdate</c>.  NHibernate can't guarantee
            that it will know about all operations that would call cause NHibernate's collections to call
            <c>Read()</c> or <c>Write()</c>.
            </remarks>
        </member>
        <member name="P:NHibernate.Collection.IPersistentCollection.WasInitialized">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Collection.IPersistentCollection.HasQueuedAdds">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Collection.IPersistentCollection.QueuedAddsCollection">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Collection.IPersistentCollection.CollectionSnapshot">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Collection.IPersistentCollection.IsDirty">
            <summary>
            Is the collection dirty? Note that this is only
            reliable during the flush cycle, after the
            collection elements are dirty checked against
            the snapshot.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.Read">
            <summary>
            Called by any read-only method of the collection interface
            </summary>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.Write">
            <summary>
            Called by any writer method of the collection interface
            </summary>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.QueueAdd(System.Object)">
            <summary>
            Queue an addition if the peristent collection supports it
            </summary>
            <returns>
            <c>true</c> if the addition was queued up, <c>false</c> if the persistent collection
            doesn't support Queued Addition.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.QueueAddAll(System.Collections.ICollection)">
            <summary>
            Queue additions
            </summary>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.DelayedAddAll(System.Collections.ICollection,NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            After reading all existing elements from the database,
            add the queued elements to the underlying collection.
            </summary>
            <param name="coll">The <see cref="T:System.Collections.ICollection"/> to add.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> that
            is currently loading the collection.</param>
            <remarks>
            The default implementation is to throw an <see cref="T:NHibernate.AssertionFailure"/>
            because most collections do not support delayed addition.  If the collection
            does then override this method.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.PostAction">
            <summary>
            Clears out any Queued Additions.
            </summary>
            <remarks>
            After a Flush() the database is in synch with the in-memory
            contents of the Collection.  Since everything is in synch remove
            any Queued Additions.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.#ctor">
            <summary>
            Not called by Hibernate, but used by non-NET serialization, eg. SOAP libraries.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.#ctor(NHibernate.Engine.ISessionImplementor)">
            <summary>
            Not called by Hibernate, but used by non-NET serialization, eg. SOAP libraries.
            </summary>
            <param name="session"></param>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.GetValue">
            <summary>
            Return the user-visible collection (or array) instance
            </summary>
            <returns>
            By default, the NHibernate wrapper is an acceptable collection for
            the end user code to work with because it is interface compatible.
            An NHibernate PersistentList is an IList, an NHibernate PersistentMap is an IDictionary
            and those are the types user code is expecting.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.BeginRead">
            <summary>
            Called just before reading any rows from the <see cref="T:System.Data.IDataReader"/>
            </summary>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.EndRead(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Called after reading all rows from the <see cref="T:System.Data.IDataReader"/>
            </summary>
            <remarks>
            This should be overridden by sub collections that use temporary collections
            to store values read from the db.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.Initialize(System.Boolean)">
            <summary>
            Initialize the collection, if possible, wrapping any exceptions
            in a runtime exception
            </summary>
            <param name="writing">currently obsolete</param>
            <exception cref="T:NHibernate.LazyInitializationException">if we cannot initialize</exception>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.SetInitialized">
            <summary>
            Mark the collection as initialized.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.UnsetSession(NHibernate.Engine.ISessionImplementor)">
            <summary>
            Disassociate this collection from the given session.
            </summary>
            <param name="session"></param>
            <returns>true if this was currently associated with the given session</returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.SetCurrentSession(NHibernate.Engine.ISessionImplementor)">
            <summary>
            Associate the collection with the given session.
            </summary>
            <param name="session"></param>
            <returns>false if the collection was already associated with the session</returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.InitializeFromCache(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Object)">
            <summary>
            Read the state of the collection from a disassembled cached value.
            </summary>
            <param name="persister"></param>
            <param name="disassembled"></param>
            <param name="owner"></param>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.Entries">
            <summary>
            Iterate all collection entries, during update of the database
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.ReadFrom(System.Data.IDataReader,NHibernate.Persister.Collection.ICollectionPersister,NHibernate.Loader.ICollectionAliases,System.Object)">
            <summary>
            Reads the row from the <see cref="T:System.Data.IDataReader"/>.
            </summary>
            <param name="reader">The IDataReader that contains the value of the Identifier</param>
            <param name="role">The persister for this Collection.</param>
            <param name="descriptor">The descriptor providing result set column names</param>
            <param name="owner">The owner of this Collection.</param>
            <returns>The object that was contained in the row.</returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.GetIndex(System.Object,System.Int32)">
            <summary>
            Get the index of the given collection entry
            </summary>
            <param name="entry"></param>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.BeforeInitialize(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Called before any elements are read into the collection,
            allowing appropriate initializations to occur.
            </summary>
            <param name="persister"></param>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.EqualsSnapshot(NHibernate.Type.IType)">
            <summary>
            Does the current state exactly match the snapshot?
            </summary>
            <param name="elementType"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.Snapshot(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Return a new snapshot of the current state
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> for this Collection.</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.Disassemble(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Disassemble the collection, ready for the cache
            </summary>
            <param name="persister"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.NeedsRecreate(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Gets a <see cref="T:System.Boolean"/> indicating if the rows for this collection
            need to be recreated in the table.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> for this Collection.</param>
            <returns>
            <c>false</c> by default since most collections can determine which rows need to be
            individually updated/inserted/deleted.  Currently only <see cref="T:NHibernate.Collection.PersistentBag"/>'s for <c>many-to-many</c>
            need to be recreated.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.GetSnapshot(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            
            </summary>
            <param name="persister"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.ForceInitialization">
            <summary>
            To be called internally by the session, forcing
            immediate initalization.
            </summary>
            <remarks>
            This method is similar to <see cref="M:NHibernate.Collection.AbstractPersistentCollection.Initialize(System.Boolean)"/>, except that different exceptions are thrown.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.EntryExists(System.Object,System.Int32)">
            <summary>
            Does an element exist at this entry in the collection?
            </summary>
            <param name="entry"></param>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.NeedsInserting(System.Object,System.Int32,NHibernate.Type.IType)">
            <summary>
            Do we need to insert this element?
            </summary>
            <param name="entry"></param>
            <param name="i"></param>
            <param name="elemType"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.NeedsUpdating(System.Object,System.Int32,NHibernate.Type.IType)">
            <summary>
            Do we need to update this element?
            </summary>
            <param name="entry"></param>
            <param name="i"></param>
            <param name="elemType"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.GetDeletes(NHibernate.Type.IType,System.Boolean)">
            <summary>
            Get all the elements that need deleting
            </summary>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.IsWrapper(System.Object)">
            <summary>
            Is this the wrapper for the given underlying collection instance?
            </summary>
            <param name="collection"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.GetSnapshot">
            <summary>
            Gets the Snapshot from the current session the collection 
            is in.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.PreInsert(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Called before inserting rows, to ensure that any surrogate keys are fully generated
            </summary>
            <param name="persister"></param>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.AfterRowInsert(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Int32)">
            <summary>
            Called after inserting a row, to fetch the natively generated id
            </summary>
            <param name="persister"></param>
            <param name="entry"></param>
            <param name="i"></param>
        </member>
        <member name="M:NHibernate.Collection.AbstractPersistentCollection.GetOrphans(System.Object,System.Type)">
            <summary>
            Get all "orphaned" elements
            </summary>
        </member>
        <member name="P:NHibernate.Collection.AbstractPersistentCollection.Empty">
            <summary>
            Is the initialized collection empty?
            </summary>
        </member>
        <member name="P:NHibernate.Collection.AbstractPersistentCollection.IsConnectedToSession">
            <summary>
            Is the collection currently connected to an open session?
            </summary>
        </member>
        <member name="P:NHibernate.Collection.AbstractPersistentCollection.IsQueueAdditionEnabled">
            <summary>
            Is this collection in a state that would allow us to "queue" additions?
            </summary>
        </member>
        <member name="P:NHibernate.Collection.AbstractPersistentCollection.IsDirectlyAccessible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> indicating if the underlying collection is directly
            accessable through code.
            </summary>
            <value>
            <c>true</c> if we are not guaranteed that the NHibernate collection wrapper
            is being used.
            </value>
            <remarks>
            This is typically <c>false</c> whenever a transient object that contains a collection is being
            associated with an ISession through <c>Save</c> or <c>SaveOrUpdate</c>.  NHibernate can't guarantee
            that it will know about all operations that would call cause NHibernate's collections to call
            <c>Read()</c> or <c>Write()</c>.
            </remarks>
        </member>
        <member name="P:NHibernate.Collection.AbstractPersistentCollection.WasInitialized">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Collection.AbstractPersistentCollection.HasQueuedAdds">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Collection.AbstractPersistentCollection.QueuedAddsCollection">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Collection.AbstractPersistentCollection.CollectionSnapshot">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Collection.AbstractPersistentCollection.Session">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericBag`1.#ctor(NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initializes an instance of the <see cref="T:NHibernate.Collection.Generic.PersistentGenericBag`1"/>
            in the <paramref name="session"/>.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> the bag is in.</param>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericBag`1.#ctor(NHibernate.Engine.ISessionImplementor,System.Collections.Generic.IList{`0})">
            <summary>
            Initializes an instance of the <see cref="T:NHibernate.Collection.Generic.PersistentGenericBag`1"/>
            that wraps an existing <see cref="T:System.Collections.Generic.IList`1"/> in the <paramref name="session"/>.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> the bag is in.</param>
            <param name="coll">The <see cref="T:System.Collections.Generic.IList`1"/> to wrap.</param>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericBag`1.NeedsRecreate(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Gets a <see cref="T:System.Boolean"/> indicating if this Bag needs to be recreated
            in the database.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> for this Collection.</param>
            <returns>
            <c>false</c> if this is a <c>one-to-many</c> Bag, <c>true</c> if this is not
            a <c>one-to-many</c> Bag.  Since a Bag is an unordered, unindexed collection 
            that permits duplicates it is not possible to determine what has changed in a
            <c>many-to-many</c> so it is just recreated.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericBag`1.CountOccurrences(`0,System.Collections.Generic.ICollection{`0},NHibernate.Type.IType)">
            <summary>
            Counts the number of times that the <paramref name="element"/> occurs
            in the <paramref name="list"/>.
            </summary>
            <param name="element">The element to find in the list.</param>
            <param name="list">The <see cref="T:System.Collections.Generic.ICollection`1"/> to search.</param>
            <param name="elementType">The <see cref="T:NHibernate.Type.IType"/> that can determine equality.</param>
            <returns>
            The number of occurrences of the element in the list.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericBag`1.IsWrapper(System.Object)">
            <summary>
            Is this the wrapper for the given underlying bag instance?
            </summary>
            <param name="collection">The bag that might be wrapped.</param>
            <returns>
            <c>true</c> if the <paramref name="collection"/> is equal to the
            wrapped collection by object reference.
            </returns>
        </member>
        <member name="P:NHibernate.Collection.Generic.PersistentGenericBag`1.Empty">
            <summary>
            Is the initialized GenericBag empty?
            </summary>
            <value><c>true</c> if the bag has a Count==0, <c>false</c> otherwise.</value>
        </member>
        <member name="T:NHibernate.Collection.PersistentIdentifierBag`1">
            <summary>
            An <c>IdentifierBag</c> implements "bag" semantics more efficiently than
            a regular <see cref="T:NHibernate.Collection.PersistentBag"/> by adding a synthetic identifier column to the
            table.
            </summary>
            <remarks>
            <para>
            The identifier is unique for all rows in the table, allowing very efficient
            updates and deletes.  The value of the identifier is never exposed to the 
            application. 
            </para>
            <para>
            <c>PersistentIdentifierBag</c>s may not be used for a many-to-one association.  Furthermore,
            there is no reason to use <c>inverse="true"</c>.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.PersistentIdentifierBag`1.InitializeFromCache(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Object)">
            <summary>
            Initializes this Bag from the cached values.
            </summary>
            <param name="persister">The CollectionPersister to use to reassemble the PersistentIdentifierBag.</param>
            <param name="disassembled">The disassembled PersistentIdentifierBag.</param>
            <param name="owner">The owner object.</param>
        </member>
        <member name="T:NHibernate.Collection.Generic.PersistentGenericList`1">
            <summary>
            A persistent wrapper for an <see cref="T:System.Collections.Generic.IList`1"/>
            </summary>
            <typeparam name="T">The type of the element the list should hold.</typeparam>
            <remarks>The underlying collection used is a <see cref="T:System.Collections.Generic.List`1"/></remarks>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericList`1.#ctor(NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initializes an instance of the <see cref="T:NHibernate.Collection.Generic.PersistentGenericList`1"/>
            in the <paramref name="session"/>.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> the list is in.</param>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericList`1.#ctor(NHibernate.Engine.ISessionImplementor,System.Collections.Generic.IList{`0})">
            <summary>
            Initializes an instance of the <see cref="T:NHibernate.Collection.Generic.PersistentGenericList`1"/>
            that wraps an existing <see cref="T:System.Collections.Generic.IList`1"/> in the <paramref name="session"/>.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> the bag is in.</param>
            <param name="coll">The <see cref="T:System.Collections.Generic.IList`1"/> to wrap.</param>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericList`1.EqualsSnapshot(NHibernate.Type.IType)">
            <summary>
            Does the current state of the list exactly match the snapshot?
            </summary>
            <param name="elementType">The <see cref="T:NHibernate.Type.IType"/> to compare the elements of the Collection.</param>
            <returns>
            <c>true</c> if the wrapped list is different than the snapshot
            of the list or if one of the elements in the collection is
            dirty.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericList`1.Snapshot(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Return a new snapshot of the current state.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> for this Collection.</param>
            <returns>
            A new <see cref="T:System.Collections.Generic.IList`1"/> that contains Deep Copies of the 
            Elements stored in this wrapped collection.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericList`1.GetOrphans(System.Object,System.Type)">
            <summary>
            Get all "orphaned" elements.
            </summary>
            <param name="snapshot">The snapshot of the collection.</param>
            <param name="entityName">The type of the entities the collection
            is supposed to contain.</param>
            <returns>
            An <see cref="T:System.Collections.ICollection"/> that contains all of the elements
            that have been orphaned.
            </returns>
        </member>
        <member name="T:NHibernate.Collection.Generic.PersistentGenericMap`2">
            <summary>
            A persistent wrapper for a <see cref="T:System.Collections.Generic.IDictionary`2"/>.  Underlying
            collection is a <see cref="T:System.Collections.Generic.Dictionary`2"/>
            </summary>
            <typeparam name="TKey">The type of the keys in the IDictionary.</typeparam>
            <typeparam name="TValue">The type of the elements in the IDictionary.</typeparam>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericMap`2.#ctor(NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initializes an instance of the <see cref="T:NHibernate.Collection.Generic.PersistentGenericMap`2"/>
            in the <paramref name="session"/>.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> the map is in.</param>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericMap`2.#ctor(NHibernate.Engine.ISessionImplementor,System.Collections.Generic.IDictionary{`0,`1})">
            <summary>
            Initializes an instance of the <see cref="T:NHibernate.Collection.Generic.PersistentGenericMap`2"/>
            that wraps an existing <see cref="T:System.Collections.Generic.IDictionary`2"/> in the 
            <paramref name="session"/>.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> the bag is in.</param>
            <param name="map">The <see cref="T:System.Collections.Generic.IDictionary`2"/> to wrap.</param>
        </member>
        <member name="T:NHibernate.Collection.Generic.PersistentGenericSet`1">
            <summary>
            .NET has no design equivalent for Java's Set so we are going to use the
            Iesi.Collections library. This class is internal to NHibernate and shouldn't
            be used by user code.
            </summary>
            <remarks>
            The code for the Iesi.Collections library was taken from the article
            <a href="http://www.codeproject.com/csharp/sets.asp">Add Support for "Set" Collections
            to .NET</a> that was written by JasonSmith.
            </remarks>
        </member>
        <member name="F:NHibernate.Collection.Generic.PersistentGenericSet`1.internalSet">
            <summary>
            The <see cref="T:Iesi.Collections.Generic.ISet`1"/> that NHibernate is wrapping.
            </summary>
        </member>
        <member name="F:NHibernate.Collection.Generic.PersistentGenericSet`1.tempList">
            <summary>
            A temporary list that holds the objects while the set is being
            populated from the database.  
            </summary>
            <remarks>
            This is necessary to ensure that the object being added to the set doesn't
            have its <c>GetHashCode()</c> and <c>Equals()</c> methods called during the load
            process.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericSet`1.Snapshot(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Returns a Hashtable where the Key &amp; the Value are both a Copy of the
            same object.
            <see cref="M:NHibernate.Collection.AbstractPersistentCollection.Snapshot(NHibernate.Persister.Collection.ICollectionPersister)"/>
            </summary>
            <param name="persister"></param>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericSet`1.#ctor(NHibernate.Engine.ISessionImplementor)">
            <summary>
            This constructor is NOT meant to be called from user code.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericSet`1.#ctor(NHibernate.Engine.ISessionImplementor,Iesi.Collections.Generic.ISet{`0})">
            <summary>
            Creates a new PersistentGenericSet initialized to the values in the Map.
            This constructor is NOT meant to be called from user code.
            </summary>
            <remarks>
            Only call this constructor if you consider the map initialized.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericSet`1.InitializeFromCache(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Object)">
            <summary>
            Initializes this PersistentGenericSet from the cached values.
            </summary>
            <param name="persister">The CollectionPersister to use to reassemble the set.</param>
            <param name="disassembled">The disassembled set.</param>
            <param name="owner">The owner object.</param>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericSet`1.CopyTo(System.Array,System.Int32)">
            <summary>
            <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
            </summary>
            <param name="array"></param>
            <param name="index"></param>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericSet`1.GetEnumerator">
            <summary>
            <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
            </summary>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericSet`1.BeginRead">
            <summary>
            Set up the temporary List that will be used in the EndRead() 
            to fully create the set.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.Generic.PersistentGenericSet`1.EndRead(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Takes the contents stored in the temporary list created during <c>BeginRead()</c>
            that was populated during <c>ReadFrom()</c> and write it to the underlying 
            set.
            </summary>
        </member>
        <member name="P:NHibernate.Collection.Generic.PersistentGenericSet`1.Count">
            <summary>
            <see cref="P:System.Collections.ICollection.Count"/>
            </summary>
        </member>
        <member name="P:NHibernate.Collection.Generic.PersistentGenericSet`1.IsSynchronized">
            <summary>
            <see cref="P:System.Collections.ICollection.IsSynchronized"/>
            </summary>
        </member>
        <member name="P:NHibernate.Collection.Generic.PersistentGenericSet`1.SyncRoot">
            <summary>
            <see cref="P:System.Collections.ICollection.SyncRoot"/>
            </summary>
        </member>
        <member name="T:NHibernate.Collection.PersistentArrayHolder">
            <summary>
            A persistent wrapper for an array. lazy initialization is NOT supported
            </summary>
        </member>
        <member name="F:NHibernate.Collection.PersistentArrayHolder.array">
            <summary>
            The <see cref="P:NHibernate.Collection.PersistentArrayHolder.Array"/> that NHibernate is wrapping.
            </summary>
        </member>
        <member name="F:NHibernate.Collection.PersistentArrayHolder.tempList">
            <summary>
            A temporary list that holds the objects while the PersistentArrayHolder is being
            populated from the database.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.Snapshot(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            
            </summary>
            <param name="persister"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.IsWrapper(System.Object)">
            <summary>
            
            </summary>
            <param name="collection"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.EqualsSnapshot(NHibernate.Type.IType)">
            <summary>
            
            </summary>
            <param name="elementType"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.Elements">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.Entries">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.BeginRead">
            <summary>
            Before the <c>ReadFrom()</c> is called the PersistentArrayHolder needs to setup 
            a temporary list to hold the objects.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.EndRead(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Takes the contents stored in the temporary list created during <c>BeginRead()</c>
            that was populated during <c>ReadFrom()</c> and write it to the underlying 
            array.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.BeforeInitialize(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            
            </summary>
            <param name="persister"></param>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.InitializeFromCache(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Object)">
            <summary>
            Initializes this array holder from the cached values.
            </summary>
            <param name="persister">The CollectionPersister to use to reassemble the Array.</param>
            <param name="disassembled">The disassembled Array.</param>
            <param name="owner">The owner object.</param>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.Disassemble(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            
            </summary>
            <param name="persister"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.GetValue">
            <summary>
            Returns the user-visible portion of the NHibernate PersistentArrayHolder.
            </summary>
            <returns>
            The array that contains the data, not the NHibernate wrapper.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.NeedsInserting(System.Object,System.Int32,NHibernate.Type.IType)">
            <summary>
            
            </summary>
            <param name="entry"></param>
            <param name="i"></param>
            <param name="elemType"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.NeedsUpdating(System.Object,System.Int32,NHibernate.Type.IType)">
            <summary>
            
            </summary>
            <param name="entry"></param>
            <param name="i"></param>
            <param name="elemType"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.GetIndex(System.Object,System.Int32)">
            <summary>
            
            </summary>
            <param name="entry"></param>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.EntryExists(System.Object,System.Int32)">
            <summary>
            
            </summary>
            <param name="entry"></param>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.CopyTo(System.Array,System.Int32)">
            <summary>
            
            </summary>
            <param name="array"></param>
            <param name="index"></param>
        </member>
        <member name="M:NHibernate.Collection.PersistentArrayHolder.GetEnumerator">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Collection.PersistentArrayHolder.Array">
            <summary>
            
            </summary>
        </member>
        <member name="P:NHibernate.Collection.PersistentArrayHolder.Empty">
            <summary>
            
            </summary>
        </member>
        <member name="P:NHibernate.Collection.PersistentArrayHolder.IsDirectlyAccessible">
            <summary>
            
            </summary>
        </member>
        <member name="P:NHibernate.Collection.PersistentArrayHolder.Count">
            <summary>
            
            </summary>
        </member>
        <member name="P:NHibernate.Collection.PersistentArrayHolder.IsSynchronized">
            <summary>
            
            </summary>
        </member>
        <member name="P:NHibernate.Collection.PersistentArrayHolder.SyncRoot">
            <summary>
            
            </summary>
        </member>
        <member name="T:NHibernate.Collection.PersistentBag">
            <summary>
            An unordered, unkeyed collection that can contain the same element
            multiple times. The .NET collections API has no <c>Bag</c>.
            Most developers seem to use <see cref="T:System.Collections.IList"/>s to represent bag semantics,
            so NHibernate follows this practice.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.PersistentBag.CountOccurrences(System.Object,System.Collections.IList,NHibernate.Type.IType)">
            <summary>
            Counts the number of times that the <paramref name="element"/> occurs
            in the <paramref name="list"/>.
            </summary>
            <param name="element">The element to find in the list.</param>
            <param name="list">The <see cref="T:System.Collections.IList"/> to search.</param>
            <param name="elementType">The <see cref="T:NHibernate.Type.IType"/> that can determine equality.</param>
            <returns>
            The number of occurrences of the element in the list.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentBag.InitializeFromCache(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Object)">
            <summary>
            Initializes this PersistentBag from the cached values.
            </summary>
            <param name="persister">The CollectionPersister to use to reassemble the PersistentBag.</param>
            <param name="disassembled">The disassembled PersistentBag.</param>
            <param name="owner">The owner object.</param>
        </member>
        <member name="M:NHibernate.Collection.PersistentBag.NeedsRecreate(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Gets a <see cref="T:System.Boolean"/> indicating if this PersistentBag needs to be recreated
            in the database.
            </summary>
            <param name="persister"></param>
            <returns>
            <c>false</c> if this is a <c>one-to-many</c> Bag, <c>true</c> if this is not
            a <c>one-to-many</c> Bag.  Since a Bag is an unordered, unindexed collection 
            that permits duplicates it is not possible to determine what has changed in a
            <c>many-to-many</c> so it is just recreated.
            </returns>
        </member>
        <member name="T:NHibernate.Collection.PersistentIdentifierBag">
            <summary>
            An <c>IdentifierBag</c> implements "bag" semantics more efficiently than
            a regular <see cref="T:NHibernate.Collection.PersistentBag"/> by adding a synthetic identifier column to the
            table.
            </summary>
            <remarks>
            <para>
            The identifier is unique for all rows in the table, allowing very efficient
            updates and deletes.  The value of the identifier is never exposed to the 
            application. 
            </para>
            <para>
            <c>PersistentIdentifierBag</c>s may not be used for a many-to-one association.  Furthermore,
            there is no reason to use <c>inverse="true"</c>.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.PersistentIdentifierBag.InitializeFromCache(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Object)">
            <summary>
            Initializes this Bag from the cached values.
            </summary>
            <param name="persister">The CollectionPersister to use to reassemble the PersistentIdentifierBag.</param>
            <param name="disassembled">The disassembled PersistentIdentifierBag.</param>
            <param name="owner">The owner object.</param>
        </member>
        <member name="T:NHibernate.Collection.PersistentList">
            <summary>
            A persistent wrapper for an <see cref="T:System.Collections.IList"/>
            </summary>	
            <remarks>
            The underlying collection used in an <see cref="T:System.Collections.ArrayList"/>.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.PersistentList.Snapshot(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Return a new snapshot of the current state.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> for this Collection.</param>
            <returns>
            A new <see cref="T:System.Collections.ArrayList"/> that contains Deep Copies of the 
            Elements stored in this wrapped collection.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentList.EqualsSnapshot(NHibernate.Type.IType)">
            <summary>
            Does the current state of the list exactly match the snapshot?
            </summary>
            <param name="elementType">The <see cref="T:NHibernate.Type.IType"/> to compare the elements of the Collection.</param>
            <returns>
            <c>true</c> if the wrapped list is different than the snapshot
            of the list or if one of the elements in the collection is
            dirty.
            </returns>
        </member>
        <member name="M:NHibernate.Collection.PersistentList.#ctor(NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initializes an instance of the <see cref="T:NHibernate.Collection.PersistentList"/>
            in the <paramref name="session"/>.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> the list is in.</param>
        </member>
        <member name="M:NHibernate.Collection.PersistentList.#ctor(NHibernate.Engine.ISessionImplementor,System.Collections.IList)">
            <summary>
            Initializes an instance of the <see cref="T:NHibernate.Collection.PersistentList"/>
            that wraps an existing <see cref="T:System.Collections.IList"/> in the <paramref name="session"/>.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> the list is in.</param>
            <param name="list">The <see cref="T:System.Collections.IList"/> to wrap.</param>
        </member>
        <member name="M:NHibernate.Collection.PersistentList.Contains(System.Object)">
            <seealso cref="M:System.Collections.IList.Contains(System.Object)"/>
        </member>
        <member name="M:NHibernate.Collection.PersistentList.InitializeFromCache(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Object)">
            <summary>
            Initializes this PersistentList from the cached values.
            </summary>
            <param name="persister">The CollectionPersister to use to reassemble the PersistentList.</param>
            <param name="disassembled">The disassembled PersistentList.</param>
            <param name="owner">The owner object.</param>
        </member>
        <member name="P:NHibernate.Collection.PersistentList.SyncRoot">
            <seealso cref="P:System.Collections.ICollection.SyncRoot"/>
        </member>
        <member name="P:NHibernate.Collection.PersistentList.IsSynchronized">
            <seealso cref="P:System.Collections.ICollection.IsSynchronized"/>
        </member>
        <member name="P:NHibernate.Collection.PersistentList.IsFixedSize">
            <seealso cref="P:System.Collections.IList.IsFixedSize"/>
        </member>
        <member name="P:NHibernate.Collection.PersistentList.IsReadOnly">
            <seealso cref="P:System.Collections.IList.IsReadOnly"/>
        </member>
        <member name="T:NHibernate.Collection.PersistentMap">
            <summary>
            A persistent wrapper for a <see cref="T:System.Collections.IDictionary"/>. Underlying collection
            is a <see cref="T:System.Collections.Hashtable"/>.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.PersistentMap.#ctor(NHibernate.Engine.ISessionImplementor)">
            <summary>
            Construct an uninitialized PersistentMap.
            </summary>
            <param name="session">The ISession the PersistentMap should be a part of.</param>
        </member>
        <member name="M:NHibernate.Collection.PersistentMap.#ctor(NHibernate.Engine.ISessionImplementor,System.Collections.IDictionary)">
            <summary>
            Construct an initialized PersistentMap based off the values from the existing IDictionary.
            </summary>
            <param name="session">The ISession the PersistentMap should be a part of.</param>
            <param name="map">The IDictionary that contains the initial values.</param>
        </member>
        <member name="M:NHibernate.Collection.PersistentMap.InitializeFromCache(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Object)">
            <summary>
            Initializes this PersistentMap from the cached values.
            </summary>
            <param name="persister">The CollectionPersister to use to reassemble the PersistentMap.</param>
            <param name="disassembled">The disassembled PersistentMap.</param>
            <param name="owner">The owner object.</param>
        </member>
        <member name="T:NHibernate.Collection.PersistentSet">
            <summary>
            .NET has no design equivalent for Java's Set so we are going to use the
            Iesi.Collections library. This class is internal to NHibernate and shouldn't
            be used by user code.
            </summary>
            <remarks>
            The code for the Iesi.Collections library was taken from the article
            <a href="http://www.codeproject.com/csharp/sets.asp">Add Support for "Set" Collections
            to .NET</a> that was written by JasonSmith.
            </remarks>
        </member>
        <member name="F:NHibernate.Collection.PersistentSet.internalSet">
            <summary>
            The <see cref="T:Iesi.Collections.ISet"/> that NHibernate is wrapping.
            </summary>
        </member>
        <member name="F:NHibernate.Collection.PersistentSet.tempList">
            <summary>
            A temporary list that holds the objects while the PersistentSet is being
            populated from the database.  
            </summary>
            <remarks>
            This is necessary to ensure that the object being added to the PersistentSet doesn't
            have its' <c>GetHashCode()</c> and <c>Equals()</c> methods called during the load
            process.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.PersistentSet.Snapshot(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Returns a Hashtable where the Key &amp; the Value are both a Copy of the
            same object.
            <see cref="M:NHibernate.Collection.AbstractPersistentCollection.Snapshot(NHibernate.Persister.Collection.ICollectionPersister)"/>
            </summary>
            <param name="persister"></param>
        </member>
        <member name="M:NHibernate.Collection.PersistentSet.#ctor(NHibernate.Engine.ISessionImplementor)">
            <summary>
            This constructor is NOT meant to be called from user code.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.PersistentSet.#ctor(NHibernate.Engine.ISessionImplementor,Iesi.Collections.ISet)">
            <summary>
            Creates a new PersistentSet initialized to the values in the Map.
            This constructor is NOT meant to be called from user code.
            </summary>
            <remarks>
            Only call this constructor if you consider the map initialized.
            </remarks>
        </member>
        <member name="M:NHibernate.Collection.PersistentSet.InitializeFromCache(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Object)">
            <summary>
            Initializes this PersistentSet from the cached values.
            </summary>
            <param name="persister">The CollectionPersister to use to reassemble the PersistentSet.</param>
            <param name="disassembled">The disassembled PersistentSet.</param>
            <param name="owner">The owner object.</param>
        </member>
        <member name="M:NHibernate.Collection.PersistentSet.CopyTo(System.Array,System.Int32)">
            <summary>
            <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
            </summary>
            <param name="array"></param>
            <param name="index"></param>
        </member>
        <member name="M:NHibernate.Collection.PersistentSet.GetEnumerator">
            <summary>
            <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
            </summary>
        </member>
        <member name="M:NHibernate.Collection.PersistentSet.BeginRead">
            <summary>
            Set up the temporary List that will be used in the EndRead() 
            to fully create the set.
            </summary>
        </member>
        <member name="M:NHibernate.Collection.PersistentSet.EndRead(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Takes the contents stored in the temporary list created during <c>BeginRead()</c>
            that was populated during <c>ReadFrom()</c> and write it to the underlying 
            PersistentSet.
            </summary>
        </member>
        <member name="P:NHibernate.Collection.PersistentSet.Count">
            <summary>
            <see cref="P:System.Collections.ICollection.Count"/>
            </summary>
        </member>
        <member name="P:NHibernate.Collection.PersistentSet.IsSynchronized">
            <summary>
            <see cref="P:System.Collections.ICollection.IsSynchronized"/>
            </summary>
        </member>
        <member name="P:NHibernate.Collection.PersistentSet.SyncRoot">
            <summary>
            <see cref="P:System.Collections.ICollection.SyncRoot"/>
            </summary>
        </member>
        <member name="T:NHibernate.Connection.ConnectionProvider">
            <summary>
            The base class for the ConnectionProvider.
            </summary>
        </member>
        <member name="T:NHibernate.Connection.IConnectionProvider">
            <summary>
            A strategy for obtaining ADO.NET <see cref="T:System.Data.IDbConnection"/>.
            </summary>
            <remarks>
            The <c>IConnectionProvider</c> interface is not intended to be exposed to the application.
            Instead it is used internally by NHibernate to obtain <see cref="T:System.Data.IDbConnection"/>. 
            Implementors should provide a public default constructor.
            </remarks>
        </member>
        <member name="M:NHibernate.Connection.IConnectionProvider.Configure(System.Collections.IDictionary)">
            <summary>
            Initialize the connection provider from the given properties.
            </summary>
            <param name="settings">The connection provider settings</param>
        </member>
        <member name="M:NHibernate.Connection.IConnectionProvider.CloseConnection(System.Data.IDbConnection)">
            <summary>
            Dispose of a used <see cref="T:System.Data.IDbConnection"/>
            </summary>
            <param name="conn">The <see cref="T:System.Data.IDbConnection"/> to clean up.</param>
        </member>
        <member name="M:NHibernate.Connection.IConnectionProvider.GetConnection">
            <summary>
            Get an open <see cref="T:System.Data.IDbConnection"/>.
            </summary>
            <returns>An open <see cref="T:System.Data.IDbConnection"/>.</returns>
        </member>
        <member name="P:NHibernate.Connection.IConnectionProvider.Driver">
            <summary>
            Gets the <see cref="T:NHibernate.Driver.IDriver"/> this ConnectionProvider should use to 
            communicate with the .NET Data Provider
            </summary>
            <value>
            The <see cref="T:NHibernate.Driver.IDriver"/> to communicate with the .NET Data Provider.
            </value>
        </member>
        <member name="M:NHibernate.Connection.ConnectionProvider.CloseConnection(System.Data.IDbConnection)">
            <summary>
            Closes the <see cref="T:System.Data.IDbConnection"/>.
            </summary>
            <param name="conn">The <see cref="T:System.Data.IDbConnection"/> to clean up.</param>
        </member>
        <member name="M:NHibernate.Connection.ConnectionProvider.Configure(System.Collections.IDictionary)">
            <summary>
            Configures the ConnectionProvider with the Driver and the ConnectionString.
            </summary>
            <param name="settings">An <see cref="T:System.Collections.IDictionary"/> that contains the settings for this ConnectionProvider.</param>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when a <see cref="F:NHibernate.Cfg.Environment.ConnectionString"/> could not be found 
            in the <c>settings</c> parameter or the Driver Class could not be loaded.
            </exception>
        </member>
        <member name="M:NHibernate.Connection.ConnectionProvider.GetNamedConnectionString(System.Collections.IDictionary)">
            <summary>
            Get the .NET 2.0 named connection string 
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when a <see cref="F:NHibernate.Cfg.Environment.ConnectionStringName"/> was found 
            in the <c>settings</c> parameter but could not be found in the app.config
            </exception>
        </member>
        <member name="M:NHibernate.Connection.ConnectionProvider.ConfigureDriver(System.Collections.IDictionary)">
            <summary>
            Configures the driver for the ConnectionProvider.
            </summary>
            <param name="settings">An <see cref="T:System.Collections.IDictionary"/> that contains the settings for the Driver.</param>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the <see cref="F:NHibernate.Cfg.Environment.ConnectionDriver"/> could not be 
            found in the <c>settings</c> parameter or there is a problem with creating
            the <see cref="T:NHibernate.Driver.IDriver"/>.
            </exception>
        </member>
        <member name="M:NHibernate.Connection.ConnectionProvider.GetConnection">
            <summary>
            Get an open <see cref="T:System.Data.IDbConnection"/>.
            </summary>
            <returns>An open <see cref="T:System.Data.IDbConnection"/>.</returns>
        </member>
        <member name="F:NHibernate.Connection.ConnectionProvider._isAlreadyDisposed">
            <summary>
            A flag to indicate if <c>Disose()</c> has been called.
            </summary>
        </member>
        <member name="M:NHibernate.Connection.ConnectionProvider.Finalize">
            <summary>
            Finalizer that ensures the object is correctly disposed of.
            </summary>
        </member>
        <member name="M:NHibernate.Connection.ConnectionProvider.Dispose">
            <summary>
            Takes care of freeing the managed and unmanaged resources that 
            this class is responsible for.
            </summary>
        </member>
        <member name="M:NHibernate.Connection.ConnectionProvider.Dispose(System.Boolean)">
            <summary>
            Takes care of freeing the managed and unmanaged resources that 
            this class is responsible for.
            </summary>
            <param name="isDisposing">Indicates if this ConnectionProvider is being Disposed of or Finalized.</param>
            <remarks>
            <p>
            If this ConnectionProvider is being Finalized (<c>isDisposing==false</c>) then make 
            sure not to call any methods that could potentially bring this 
            ConnectionProvider back to life.
            </p>
            <p>
            If any subclasses manage resources that also need to be disposed of this method
            should be overridden, but don't forget to call it in the override.
            </p>
            </remarks>
        </member>
        <member name="P:NHibernate.Connection.ConnectionProvider.ConnectionString">
            <summary>
            Gets the <see cref="T:System.String"/> for the <see cref="T:System.Data.IDbConnection"/>
            to connect to the database.
            </summary>
            <value>
            The <see cref="T:System.String"/> for the <see cref="T:System.Data.IDbConnection"/>
            to connect to the database.
            </value>
        </member>
        <member name="P:NHibernate.Connection.ConnectionProvider.Driver">
            <summary>
            Gets the <see cref="T:NHibernate.Driver.IDriver"/> that can create the <see cref="T:System.Data.IDbConnection"/> object.
            </summary>
            <value>
            The <see cref="T:NHibernate.Driver.IDriver"/> that can create the <see cref="T:System.Data.IDbConnection"/>.
            </value>
        </member>
        <member name="T:NHibernate.Connection.ConnectionProviderFactory">
            <summary>
            Instanciates a connection provider given configuration properties.
            </summary>
        </member>
        <member name="M:NHibernate.Connection.ConnectionProviderFactory.NewConnectionProvider(System.Collections.IDictionary)">
            <summary>
            
            </summary>
            <param name="settings"></param>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Connection.DriverConnectionProvider">
            <summary>
            A ConnectionProvider that uses an IDriver to create connections.
            </summary>
        </member>
        <member name="M:NHibernate.Connection.DriverConnectionProvider.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Connection.DriverConnectionProvider"/> class.
            </summary>
        </member>
        <member name="M:NHibernate.Connection.DriverConnectionProvider.CloseConnection(System.Data.IDbConnection)">
            <summary>
            Closes and Disposes of the <see cref="T:System.Data.IDbConnection"/>.
            </summary>
            <param name="conn">The <see cref="T:System.Data.IDbConnection"/> to clean up.</param>
        </member>
        <member name="M:NHibernate.Connection.DriverConnectionProvider.GetConnection">
            <summary>
            Gets a new open <see cref="T:System.Data.IDbConnection"/> through 
            the <see cref="T:NHibernate.Driver.IDriver"/>.
            </summary>
            <returns>
            An Open <see cref="T:System.Data.IDbConnection"/>.
            </returns>
            <exception cref="T:System.Exception">
            If there is any problem creating or opening the <see cref="T:System.Data.IDbConnection"/>.
            </exception>
        </member>
        <member name="T:NHibernate.Connection.UserSuppliedConnectionProvider">
            <summary>
            An implementation of the <c>IConnectionProvider</c> that simply throws an exception when
            a connection is requested.
            </summary>
            <remarks>
            This implementation indicates that the user is expected to supply an ADO.NET connection
            </remarks>
        </member>
        <member name="M:NHibernate.Connection.UserSuppliedConnectionProvider.CloseConnection(System.Data.IDbConnection)">
            <summary>
            Throws an <see cref="T:System.InvalidOperationException"/> if this method is called
            because the user is responsible for closing <see cref="T:System.Data.IDbConnection"/>s.
            </summary>
            <param name="conn">The <see cref="T:System.Data.IDbConnection"/> to clean up.</param>
            <exception cref="T:System.InvalidOperationException">
            Thrown when this method is called.  User is responsible for closing
            <see cref="T:System.Data.IDbConnection"/>s.
            </exception>
        </member>
        <member name="M:NHibernate.Connection.UserSuppliedConnectionProvider.GetConnection">
            <summary>
            Throws an <see cref="T:System.InvalidOperationException"/> if this method is called
            because the user is responsible for creating <see cref="T:System.Data.IDbConnection"/>s.
            </summary>
            <returns>
            No value is returned because an <see cref="T:System.InvalidOperationException"/> is thrown.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            Thrown when this method is called.  User is responsible for creating
            <see cref="T:System.Data.IDbConnection"/>s.
            </exception>
        </member>
        <member name="M:NHibernate.Connection.UserSuppliedConnectionProvider.Configure(System.Collections.IDictionary)">
            <summary>
            Configures the ConnectionProvider with only the Driver class.
            </summary>
            <param name="settings"></param>
            <remarks>
            All other settings of the Connection are the responsibility of the User since they configured
            NHibernate to use a Connection supplied by the User.
            </remarks>
        </member>
        <member name="T:NHibernate.Context.ICurrentSessionContext">
            <summary>
            Defines the contract for implementations which know how to
            scope the notion of a <see cref="M:NHibernate.ISessionFactory.GetCurrentSession">current session</see>.
            </summary>
            <remarks>
            <para>
            Implementations should adhere to the following:
            <list type="bullet">
            <item><description>contain a constructor accepting a single argument of type
            <see cref="T:NHibernate.Engine.ISessionFactoryImplementor"/></description></item>
            <item><description>should be thread safe</description></item>
            <item><description>should be fully serializable</description></item>
            </list>
            </para>
            <para>
            Implementors should be aware that they are also fully responsible for
            cleanup of any generated current-sessions.
            </para>
            <para>
            Note that there will be exactly one instance of the configured
            ICurrentSessionContext implementation per <see cref="T:NHibernate.ISessionFactory"/>.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Context.ICurrentSessionContext.CurrentSession">
            <summary>
            Retrieve the current session according to the scoping defined
            by this implementation.
            </summary>
            <returns>The current session.</returns>
            <exception cref="T:NHibernate.HibernateException">Typically indicates an issue
            locating or creating the current session.</exception>
        </member>
        <member name="T:NHibernate.DebugHelpers.DictionaryProxy">
            <summary>
            Used to show a better debug display for dictionaries
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.Function.AnsiSubstringFunction">
             <summary>
             ANSI-SQL substring  
             Documented in:
             ANSI X3.135-1992
             American National Standard for Information Systems - Database Language - SQL
             </summary>
             <remarks>
             Syntax:
            <![CDATA[
             <character substring function> ::=
             SUBSTRING <left paren> <character value expression> FROM < start position>
             [ FOR <string length> ] <right paren>
            ]]>
             </remarks>
        </member>
        <member name="T:NHibernate.Dialect.Function.ISQLFunction">
             <summary>
             Provides support routines for the HQL functions as used
             in the various SQL Dialects
            
             Provides an interface for supporting various HQL functions that are
             translated to SQL. The Dialect and its sub-classes use this interface to
             provide details required for processing of the function.
             </summary>
        </member>
        <member name="M:NHibernate.Dialect.Function.ISQLFunction.ReturnType(NHibernate.Type.IType,NHibernate.Engine.IMapping)">
            <summary>
            The function return type
            </summary>
            <param name="columnType">The type of the first argument</param>
            <param name="mapping"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.Function.ISQLFunction.Render(System.Collections.IList,NHibernate.Engine.ISessionFactoryImplementor)">
            <summary>
            Render the function call as SQL.
            </summary>
            <param name="args">List of arguments</param>
            <param name="factory"></param>
            <returns>SQL fragment for the fuction.</returns>
        </member>
        <member name="P:NHibernate.Dialect.Function.ISQLFunction.HasArguments">
            <summary>
            Does this function have any arguments?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Function.ISQLFunction.HasParenthesesIfNoArguments">
            <summary>
            If there are no arguments, are parens required?
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.Function.AnsiTrimEmulationFunction">
            <summary>
            A SQLFunction implementation that emulates the ANSI SQL trim function
            on dialects which do not support the full definition.  However, this function
            definition does assume the availability of ltrim, rtrim, and replace functions
            which it uses in various combinations to emulate the desired ANSI trim()
            functionality.
            </summary>
        </member>
        <member name="M:NHibernate.Dialect.Function.AnsiTrimEmulationFunction.Render(System.Collections.IList,NHibernate.Engine.ISessionFactoryImplementor)">
             <summary>
             
             </summary>
             <param name="args"></param>
             <param name="factory"></param>
             <returns></returns>
             <remarks>
             according to both the ANSI-SQL and EJB3 specs, trim can either take
             exactly one parameter or a variable number of parameters between 1 and 4.
             from the SQL spec:
             <![CDATA[
             <trim function> ::=
                  TRIM <left paren> <trim operands> <right paren>
            
             <trim operands> ::=
                  [ [ <trim specification> ] [ <trim character> ] FROM ] <trim source>
            
             <trim specification> ::=
                  LEADING
                  | TRAILING
                  | BOTH
             ]]>
             If only trim specification is omitted, BOTH is assumed;
             if trim character is omitted, space is assumed
             </remarks>
        </member>
        <member name="T:NHibernate.Dialect.Function.CastFunction">
            <summary>
            ANSI-SQL style cast(foo as type) where the type is a NHibernate type
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.Function.CharIndexFunction">
            <summary>
            Emulation of locate() on Sybase
            </summary>
        </member>
        <member name="M:NHibernate.Dialect.Function.ClassicAggregateFunction.#ctor(System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the StandardSQLFunction class.
            </summary>
            <param name="name">SQL function name.</param>
            <param name="acceptAsterisk">Whether the function accepts an asterisk (*) in place of arguments</param>
        </member>
        <member name="M:NHibernate.Dialect.Function.ClassicAggregateFunction.#ctor(System.String,System.Boolean,NHibernate.Type.IType)">
            <summary>
            Initializes a new instance of the StandardSQLFunction class.
            </summary>
            <param name="name">SQL function name.</param>
            <param name="acceptAsterisk">True if accept asterisk like argument</param>
            <param name="typeValue">Return type for the fuction.</param>
        </member>
        <member name="T:NHibernate.Dialect.Function.ClassicAvgFunction">
            <summary>
            Classic AVG sqlfunction that return types as it was done in Hibernate 3.1
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.Function.ClassicCountFunction">
            <summary>
            Classic COUNT sqlfunction that return types as it was done in Hibernate 3.1
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.Function.ClassicSumFunction">
            <summary>
            Classic SUM sqlfunction that return types as it was done in Hibernate 3.1
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.Function.NoArgSQLFunction">
            <summary>
            Summary description for NoArgSQLFunction.
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.Function.NvlFunction">
            <summary>
            Emulation of coalesce() on Oracle, using multiple nvl() calls
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.Function.PositionSubstringFunction">
            <summary>
            Emulation of locate() on PostgreSQL
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.Function.SQLFunctionTemplate">
            <summary>
            Represents HQL functions that can have different representations in different SQL dialects.
            E.g. in HQL we can define function <code>concat(?1, ?2)</code> to concatenate two strings 
            p1 and p2. Target SQL function will be dialect-specific, e.g. <code>(?1 || ?2)</code> for 
            Oracle, <code>concat(?1, ?2)</code> for MySql, <code>(?1 + ?2)</code> for MS SQL.
            Each dialect will define a template as a string (exactly like above) marking function 
            parameters with '?' followed by parameter's index (first index is 1).
            </summary>
        </member>
        <member name="M:NHibernate.Dialect.Function.SQLFunctionTemplate.Render(System.Collections.IList,NHibernate.Engine.ISessionFactoryImplementor)">
            <summary>
            Applies the template to passed in arguments.
            </summary>
            <param name="args">args function arguments</param>
            <param name="factory">generated SQL function call</param>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Dialect.Function.StandardSQLFunction">
            <summary>
            Provides a standard implementation that supports the majority of the HQL
            functions that are translated to SQL.
            </summary>
            <remarks>
            The Dialect and its sub-classes use this class to provide details required
            for processing of the associated function.
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.Function.StandardSQLFunction.#ctor(System.String)">
            <summary>
            Initializes a new instance of the StandardSQLFunction class.
            </summary>
            <param name="name">SQL function name.</param>
        </member>
        <member name="M:NHibernate.Dialect.Function.StandardSQLFunction.#ctor(System.String,NHibernate.Type.IType)">
            <summary>
            Initializes a new instance of the StandardSQLFunction class.
            </summary>
            <param name="name">SQL function name.</param>
            <param name="typeValue">Return type for the fuction.</param>
        </member>
        <member name="T:NHibernate.Dialect.Function.VarArgsSQLFunction">
            <summary>
            Support for slightly more general templating than StandardSQLFunction,
            with an unlimited number of arguments.
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.DB2400Dialect">
            <summary>
            An SQL dialect for DB2 on iSeries OS/400.
            </summary>
            <remarks>
            The DB2400Dialect defaults the following configuration properties:
            <list type="table">
            	<listheader>
            		<term>Property</term>
            		<description>Default Value</description>
            	</listheader>
            	<item>
            		<term>hibernate.connection.driver_class</term>
            		<description><see cref="T:NHibernate.Driver.DB2400Driver"/></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="T:NHibernate.Dialect.DB2Dialect">
            <summary>
            An SQL dialect for DB2.
            </summary>
            <remarks>
            The DB2Dialect defaults the following configuration properties:
            <list type="table">
            	<listheader>
            		<term>Property</term>
            		<description>Default Value</description>
            	</listheader>
            	<item>
            		<term>hibernate.connection.driver_class</term>
            		<description><see cref="T:NHibernate.Driver.DB2Driver"/></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="T:NHibernate.Dialect.Dialect">
            <summary>
            Represents a dialect of SQL implemented by a particular RDBMS. Sublcasses
            implement NHibernate compatibility with different systems.
            </summary>
            <remarks>
            Subclasses should provide a public default constructor that <c>Register()</c>
            a set of type mappings and default Hibernate properties.
            </remarks>
        </member>
        <member name="F:NHibernate.Dialect.Dialect.DefaultBatchSize">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Dialect.Dialect.NoBatch">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Dialect.Dialect.PossibleQuoteChars">
            <summary>
            Characters used for quoting sql identifiers
            </summary>
        </member>
        <member name="F:NHibernate.Dialect.Dialect.PossibleClosedQuoteChars">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.#cctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.#ctor">
            <summary>
            The base constructor for Dialect.
            </summary>
            <remarks>
            Every subclass should override this and call Register() with every <see cref="T:System.Data.DbType"/> except
            <see cref="F:System.Data.DbType.Object"/>, <see cref="F:System.Data.DbType.SByte"/>, <see cref="F:System.Data.DbType.UInt16"/>, <see cref="F:System.Data.DbType.UInt32"/>, 
            <see cref="F:System.Data.DbType.UInt64"/>, <see cref="F:System.Data.DbType.VarNumeric"/>.
            
            <para>
            The Default properties for this Dialect should also be set - such as whether or not to use outer-joins
            and what the batch size should be.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetTypeName(NHibernate.SqlTypes.SqlType)">
            <summary>
            Get the name of the database type associated with the given 
            <see cref="T:NHibernate.SqlTypes.SqlType"/>,
            </summary>
            <param name="sqlType">The SqlType</param>
            <returns>The database type name used by ddl.</returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetTypeName(NHibernate.SqlTypes.SqlType,System.Int32)">
            <summary>
            Get the name of the database type associated with the given
            <see cref="T:NHibernate.SqlTypes.SqlType"/>.
            </summary>
            <param name="sqlType">The SqlType </param>
            <param name="length">The length of the SqlType</param>
            <returns>The database type name used by ddl.</returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.RegisterFunction(System.String,NHibernate.Dialect.Function.ISQLFunction)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <param name="function"></param>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.RegisterColumnType(System.Data.DbType,System.Int32,System.String)">
            <summary>
            Subclasses register a typename for the given type code and maximum
            column length. <c>$1</c> in the type name will be replaced by the column
            length (if appropriate)
            </summary>
            <param name="code">The typecode</param>
            <param name="capacity">Maximum length of database type</param>
            <param name="name">The database type name</param>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.RegisterColumnType(System.Data.DbType,System.String)">
            <summary>
            Suclasses register a typename for the given type code. <c>$1</c> in the 
            typename will be replaced by the column length (if appropriate).
            </summary>
            <param name="code">The typecode</param>
            <param name="name">The database type name</param>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetAddForeignKeyConstraintString(System.String,System.String[],System.String,System.String[])">
            <summary>
            
            </summary>
            <param name="constraintName"></param>
            <param name="foreignKey"></param>
            <param name="referencedTable"></param>
            <param name="primaryKey"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetDropForeignKeyConstraintString(System.String)">
            <summary>
            The syntax used to drop a foreign key constraint from a table.
            </summary>
            <param name="constraintName">The name of the foreign key constraint to drop.</param>
            <returns>
            The SQL string to drop the foreign key constraint.
            </returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetAddPrimaryKeyConstraintString(System.String)">
            <summary>
            The syntax used to add a primary key constraint to a table
            </summary>
            <param name="constraintName"></param>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetDropPrimaryKeyConstraintString(System.String)">
            <summary>
            The syntax used to drop a primary key constraint from a table.
            </summary>
            <param name="constraintName">The name of the primary key constraint to drop.</param>
            <returns>
            The SQL string to drop the primary key constraint.
            </returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetDropIndexConstraintString(System.String)">
            <summary>
            The syntax used to drop an index constraint from a table.
            </summary>
            <param name="constraintName">The name of the index constraint to drop.</param>
            <returns>
            The SQL string to drop the primary key constraint.
            </returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.AddIdentitySelectToInsert(NHibernate.SqlCommand.SqlString,System.String,System.String)">
            <summary>
            Generate SQL to get the identifier of an inserted row.
            If the returned value is not null, the caller will prepare a statement from it,
            set SQL parameters just as it would for insertSQL, and execute it as a query
            which is expected to return the identifier of the inserted row.
            If the returned value is null, the caller will execute insertSQL as an update
            and then execute IdentitySelectString as a query.
            The default implementation (in this class) returns <c>null</c>.
            </summary>
            <param name="insertSql">a parameterized SQL statement to insert a row into a table.</param>
            <param name="identityColumn">The column for which the identity generator was specified.</param>
            <param name="tableName">The name of the table the row is being inserted in.</param>
            <returns>a SQL statement that has the same effect as insertSQL
            and also gets the identifier of the inserted row.
            Return <c>null</c> if this dialect doesn't support this feature.
            </returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetIdentitySelectString(System.String,System.String)">
            <summary>
            The syntax that returns the identity value of the last insert, if native
            key generation is supported
            </summary>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetSequenceNextValString(System.String)">
            <summary>
            The syntax that fetches the next value of a sequence, if sequences are supported.
            </summary>
            <param name="sequenceName">The name of the sequence</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetCreateSequenceString(System.String)">
            <summary>
            The syntax used to create a sequence, if sequences are supported
            </summary>
            <param name="sequenceName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetDropSequenceString(System.String)">
            <summary>
            The syntax used to drop a sequence, if sequences are supported
            </summary>
            <param name="sequenceName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetDialect">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetDialect(System.Collections.IDictionary)">
            <summary>
            
            </summary>
            <param name="props"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.CreateOuterJoinFragment">
            <summary>
            Create an <c>JoinFragment</c> for this dialect
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.CreateCaseFragment">
            <summary>
            Create an <c>CaseFragment</c> for this dialect
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetLimitString(NHibernate.SqlCommand.SqlString,System.Boolean)">
            <summary>
            Add a <c>LIMIT</c> clause to the given SQL <c>SELECT</c>
            </summary>
            <param name="querySqlString">A Query in the form of a SqlString.</param>
            <param name="hasOffset">Offset of the first row is not zero</param>
            <returns>A new SqlString that contains the <c>LIMIT</c> clause.</returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetLimitString(NHibernate.SqlCommand.SqlString,System.Int32,System.Int32)">
            <summary>
            Add a <c>LIMIT</c> clause to the given SQL <c>SELECT</c>
            </summary>
            <param name="querySqlString">A Query in the form of a SqlString.</param>
            <param name="offset">Offset of the first row to be returned by the query (zero-based)</param>
            <param name="limit">Maximum number of rows to be returned by the query</param>
            <returns>A new SqlString that contains the <c>LIMIT</c> clause.</returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.GetDropTableString(System.String)">
            <summary>
            Return SQL needed to drop the named table. May (and should) use
            some form of "if exists" clause, and cascade constraints.
            </summary>
            <param name="tableName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.IsQuoted(System.String)">
            <summary>
            Checks to see if the name has been quoted.
            </summary>
            <param name="name">The name to check if it is quoted</param>
            <returns>true if name is already quoted.</returns>
            <remarks>
            The default implementation is to compare the first character
            to Dialect.OpenQuote and the last char to Dialect.CloseQuote
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.UnQuote(System.String)">
            <summary>
            Unquotes and unescapes an already quoted name
            </summary>
            <param name="quoted">Quoted string</param>
            <returns>Unquoted string</returns>
            <remarks>
            <p>
            This method checks the string <c>quoted</c> to see if it is 
            quoted.  If the string <c>quoted</c> is already enclosed in the OpenQuote
            and CloseQuote then those chars are removed.
            </p>
            <p>
            After the OpenQuote and CloseQuote have been cleaned from the string <c>quoted</c>
            then any chars in the string <c>quoted</c> that have been escaped by doubling them
            up are changed back to a single version.
            </p>
            <p>
            The following quoted values return these results
            "quoted" = quoted
            "quote""d" = quote"d
            quote""d = quote"d 
            </p>
            <p>
            If this implementation is not sufficient for your Dialect then it needs to be overridden.
            MsSql2000Dialect is an example of where UnQuoting rules are different.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.UnQuote(System.String[])">
            <summary>
            Unquotes an array of Quoted Names.
            </summary>
            <param name="quoted">strings to Unquote</param>
            <returns>an array of unquoted strings.</returns>
            <remarks>
            This use UnQuote(string) for each string in the quoted array so
            it should not need to be overridden - only UnQuote(string) needs
            to be overridden unless this implementation is not sufficient.
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.Quote(System.String)">
            <summary>
            Quotes a name.
            </summary>
            <param name="name">The string that needs to be Quoted.</param>
            <returns>A QuotedName </returns>
            <remarks>
            <p>
            This method assumes that the name is not already Quoted.  So if the name passed
            in is <c>"name</c> then it will return <c>"""name"</c>.  It escapes the first char
            - the " with "" and encloses the escaped string with OpenQuote and CloseQuote. 
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.QuoteForAliasName(System.String)">
            <summary>
            Quotes a name for being used as a aliasname
            </summary>
            <remarks>Original implementation calls <see cref="M:NHibernate.Dialect.Dialect.QuoteForTableName(System.String)"/></remarks>
            <param name="aliasName">Name of the alias</param>
            <returns>A Quoted name in the format of OpenQuote + aliasName + CloseQuote</returns>
            <remarks>
            <p>
            If the aliasName is already enclosed in the OpenQuote and CloseQuote then this 
            method will return the aliasName that was passed in without going through any
            Quoting process.  So if aliasName is passed in already Quoted make sure that 
            you have escaped all of the chars according to your DataBase's specifications.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.QuoteForColumnName(System.String)">
            <summary>
            Quotes a name for being used as a columnname
            </summary>
            <remarks>Original implementation calls <see cref="M:NHibernate.Dialect.Dialect.QuoteForTableName(System.String)"/></remarks>
            <param name="columnName">Name of the column</param>
            <returns>A Quoted name in the format of OpenQuote + columnName + CloseQuote</returns>
            <remarks>
            <p>
            If the columnName is already enclosed in the OpenQuote and CloseQuote then this 
            method will return the columnName that was passed in without going through any
            Quoting process.  So if columnName is passed in already Quoted make sure that 
            you have escaped all of the chars according to your DataBase's specifications.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.QuoteForTableName(System.String)">
            <summary>
            Quotes a name for being used as a tablename
            </summary>
            <param name="tableName">Name of the table</param>
            <returns>A Quoted name in the format of OpenQuote + tableName + CloseQuote</returns>
            <remarks>
            <p>
            If the tableName is already enclosed in the OpenQuote and CloseQuote then this 
            method will return the tableName that was passed in without going through any
            Quoting process.  So if tableName is passed in already Quoted make sure that 
            you have escaped all of the chars according to your DataBase's specifications.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.Dialect.QuoteForSchemaName(System.String)">
            <summary>
            Quotes a name for being used as a schemaname
            </summary>
            <param name="schemaName">Name of the schema</param>
            <returns>A Quoted name in the format of OpenQuote + schemaName + CloseQuote</returns>
            <remarks>
            <p>
            If the schemaName is already enclosed in the OpenQuote and CloseQuote then this 
            method will return the schemaName that was passed in without going through any
            Quoting process.  So if schemaName is passed in already Quoted make sure that 
            you have escaped all of the chars according to your DataBase's specifications.
            </p>
            </remarks>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.HasAlterTable">
            <summary>
            Does this dialect support the <c>ALTER TABLE</c> syntax?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.DropConstraints">
            <summary>
            Do we need to drop constraints before dropping tables in the dialect?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.QualifyIndexName">
            <summary>
            Do we need to qualify index names with the schema name?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.MultipleQueriesSeparator">
            <summary>
            How we seperate the queries when we use multiply queries.
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.ForUpdateString">
            <summary>
            Retrieves the <c>FOR UPDATE</c> syntax specific to this dialect
            </summary>
            <value>The appropriate <c>FOR UPDATE</c> clause string.</value>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.ForUpdateNowaitString">
            <summary>
            Retrieves the <c>FOR UPDATE NOWAIT</c> syntax specific to this dialect
            </summary>
            <value>The appropriate <c>FOR UPDATE NOWAIT</c> clause string.</value>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.SupportsSubSelects">
            <summary>
            Does this dialect support subselects?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.SupportsUnique">
            <summary>
            Does this dialect support the <c>UNIQUE</c> column syntax?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.AddColumnString">
            <summary>
            The syntax used to add a column to a table. Note this is deprecated
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.NullColumnString">
            <summary>
            The keyword used to specify a nullable column
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.SupportsIdentityColumns">
            <summary>
            Does this dialect support identity column key generation?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.SupportsSequences">
            <summary>
            Does this dialect support sequences?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.IdentityColumnString">
            <summary>
            The keyword used to specify an identity column, if native key generation is supported
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.IdentityInsertString">
            <summary>
            The keyword used to insert a generated value into an identity column (or null)
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.NoColumnsInsertString">
            <summary>
            The keyword used to insert a row without specifying any column values
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.DefaultProperties">
            <summary>
            Retrieve a set of default Hibernate properties for this database.
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.CascadeConstraintsString">
            <summary>
            Completely optional cascading drop clause
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.LowercaseFunction">
            <summary>
            The name of the SQL function that transforms a string to lowercase
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.SupportsLimit">
            <summary>
            Does this Dialect have some kind of <c>LIMIT</c> syntax?
            </summary>
            <value>False, unless overridden.</value>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.SupportsLimitOffset">
            <summary>
            Does this Dialect support an offset?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.SupportsVariableLimit">
            <summary>
            Can parameters be used for a statement containing a LIMIT?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.BindLimitParametersInReverseOrder">
            <summary>
            Does the <c>LIMIT</c> clause specify arguments in the "reverse" order
            limit, offset instead of offset, limit?
            </summary>
            <value>False, unless overridden.</value>
            <remarks>Inheritors should return true if the correct order is limit, offset</remarks>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.BindLimitParametersFirst">
            <summary>
            Does the <c>LIMIT</c> clause come at the start of the 
            <c>SELECT</c> statement rather than at the end?
            </summary>
            <value>false, unless overridden</value>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.UseMaxForLimit">
            <summary>
            Does the <c>LIMIT</c> clause take a "maximum" row number
            instead of a total number of returned rows?
            </summary>
            <returns>false, unless overridden</returns>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.OpenQuote">
            <summary>
            The opening quote for a quoted identifier.
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.CloseQuote">
            <summary>
            The closing quote for a quoted identifier.
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.HasDataTypeInIdentityColumn">
            <summary>
            Whether this dialect has an identity clause added to the data type or a
            completely seperate identity data type.
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.Functions">
            <summary>
            Aggregate SQL functions as defined in general. This is
            a case-insensitive hashtable!
            </summary>
            <remarks>
            The results of this method should be integrated with the 
            specialization's data.
            </remarks>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.SupportsIfExistsBeforeTableName">
            <summary>
            Does the dialect support the syntax 'drop table if exists NAME'
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.SupportsIfExistsAfterTableName">
            <summary>
            Does the dialect support the syntax 'drop table NAME if exists'
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.Dialect.TimestampResolutionInTicks">
            <summary>
            Gives the best resolution that the database can use for storing
            date/time values, in ticks.
            </summary>
            <remarks>
            <para>
            For example, if the database can store values with 100-nanosecond
            precision, this property is equal to 1L. If the database can only
            store values with 1-millisecond precision, this property is equal
            to 10000L (number of ticks in a millisecond).
            </para>
            <para>
            Used in TimestampType.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.DB2Dialect.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.DB2Dialect.GetIdentitySelectString(System.String,System.String)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.DB2Dialect.GetSequenceNextValString(System.String)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.DB2Dialect.GetCreateSequenceString(System.String)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.DB2Dialect.GetDropSequenceString(System.String)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.DB2Dialect.GetLimitString(NHibernate.SqlCommand.SqlString,System.Boolean)">
            <summary>
            Add a <c>LIMIT</c> clause to the given SQL <c>SELECT</c>
            </summary>
            <param name="querySqlString">A Query in the form of a SqlString.</param>
            <param name="hasOffset">Offset of the first row is not zero</param>
            <returns>A new SqlString that contains the <c>LIMIT</c> clause.</returns>
        </member>
        <member name="P:NHibernate.Dialect.DB2Dialect.AddColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.DB2Dialect.DropConstraints">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.DB2Dialect.SupportsIdentityColumns">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.DB2Dialect.IdentityColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.DB2Dialect.IdentityInsertString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.DB2Dialect.SupportsSequences">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.DB2Dialect.SupportsLimit">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.DB2Dialect.BindLimitParametersInReverseOrder">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.DB2Dialect.UseMaxForLimit">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Dialect.FirebirdDialect">
            <summary>
            Summary description for FirebirdDialect.
            </summary>
            <remarks>
            The FirebirdDialect defaults the following configuration properties:
            <list type="table">
            	<listheader>
            		<term>Property</term>
            		<description>Default Value</description>
            	</listheader>
            	<item>
            		<term>hibernate.connection.driver_class</term>
            		<description><see cref="T:NHibernate.Driver.FirebirdDriver"/></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.FirebirdDialect.GetLimitString(NHibernate.SqlCommand.SqlString,System.Int32,System.Int32)">
            <summary>
            Add a <c>FIRST x [SKIP] y</c> clause to the given SQL <c>SELECT</c>
            </summary>
            <param name="querySqlString">A Query in the form of a SqlString.</param>
            <param name="limit">Maximum number of rows to be returned by the query</param>
            <param name="offset">Offset of the first row to process in the result set</param>
            <returns>A new SqlString that contains the <c>FIRST</c> clause.</returns>
        </member>
        <member name="P:NHibernate.Dialect.FirebirdDialect.AddColumnString">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Dialect.GenericDialect">
            <summary>
            A generic SQL dialect which may or may not work on any actual databases
            </summary>
        </member>
        <member name="M:NHibernate.Dialect.GenericDialect.#ctor">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.GenericDialect.AddColumnString">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Dialect.InformixDialect">
            <summary>
            Summary description for InformixDialect.
            </summary>
            <remarks>
            The InformixDialect defaults the following configuration properties:
            <list type="table">
            	<listheader>
            		<term>Property</term>
            		<description>Default Value</description>
            	</listheader>
            	<item>
            		<term>hibernate.connection.driver_class</term>
            		<description><see cref="T:NHibernate.Driver.OdbcDriver"/></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.InformixDialect.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.InformixDialect.GetIdentitySelectString(System.String,System.String)">
            <summary>
            The syntax that returns the identity value of the last insert, if native
            key generation is supported
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.InformixDialect.AddColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.InformixDialect.IdentityColumnString">
            <summary>
            The keyword used to specify an identity column, if native key generation is supported
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.InformixDialect.HasDataTypeInIdentityColumn">
            <summary>
            Whether this dialect have an Identity clause added to the data type or a
            completely seperate identity data type
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.IngresDialect">
            <summary>
            An SQL dialect for IngresSQL.
            </summary>
            <remarks>
            The IngresDialect defaults the following configuration properties:
            <list type="table">
            	<listheader>
            		<term>Property</term>
            		<description>Default Value</description>
            	</listheader>
            	<item>
            		<term>hibernate.use_outer_join</term>
            		<description><c>true</c></description>
            	</item>
            	<item>
            		<term>hibernate.connection.driver_class</term>
            		<description><see cref="T:NHibernate.Driver.IngresDriver"/></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="T:NHibernate.Dialect.MsSql2000Dialect">
            <summary>
            An SQL dialect compatible with Microsoft SQL Server 2000.
            </summary>
            <remarks>
            The MsSql2000Dialect defaults the following configuration properties:
            <list type="table">
            	<listheader>
            		<term>Property</term>
            		<description>Default Value</description>
            	</listheader>
            	<item>
            		<term>hibernate.use_outer_join</term>
            		<description><c>true</c></description>
            	</item>
            	<item>
            		<term>hibernate.connection.driver_class</term>
            		<description><see cref="T:NHibernate.Driver.SqlClientDriver"/></description>
            	</item>
            	<item>
            		<term>hibernate.prepare_sql</term>
            		<description><c>false</c></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.MsSql2000Dialect.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.MsSql2000Dialect.GetDropTableString(System.String)">
            <summary>
            Generates the string to drop the table using the MsSql syntax
            <code>
            if exists (select * from dbo.sysobjects where id = object_id(N'{0}') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
            drop table {0}
            </code>
            </summary>
            <param name="tableName">The name of the table to drop.</param>
            <returns>The SQL with the <c>tableName</c> inserted.</returns>
        </member>
        <member name="M:NHibernate.Dialect.MsSql2000Dialect.GetIdentitySelectString(System.String,System.String)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.MsSql2000Dialect.GetLimitString(NHibernate.SqlCommand.SqlString,System.Int32,System.Int32)">
            <summary>
            Add a <c>LIMIT (TOP)</c> clause to the given SQL <c>SELECT</c>
            </summary>
            <param name="querySqlString">A Query in the form of a SqlString.</param>
            <param name="limit">Maximum number of rows to be returned by the query</param>
            <param name="offset">Offset of the first row to process in the result set</param>
            <returns>A new SqlString that contains the <c>LIMIT</c> clause.</returns>
        </member>
        <member name="M:NHibernate.Dialect.MsSql2000Dialect.Quote(System.String)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <returns></returns>
            <remarks>
            MsSql does not require the OpenQuote to be escaped as long as the first char
            is an OpenQuote.
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.MsSql2000Dialect.UnQuote(System.String)">
            <summary>
            
            </summary>
            <param name="quoted"></param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.AddColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.NullColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.QualifyIndexName">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.SupportsIdentityColumns">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.IdentityColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.NoColumnsInsertString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.CloseQuote">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.OpenQuote">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.SupportsLimit">
            <summary>
            Does this Dialect have some kind of <c>LIMIT</c> syntax?
            </summary>
            <value>True, we'll use the SELECT TOP nn syntax.</value>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.SupportsLimitOffset">
            <summary>
            Does this Dialect support an offset?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.SupportsVariableLimit">
            <summary>
            Can parameters be used for a statement containing a LIMIT?
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2000Dialect.UseMaxForLimit">
            <summary>
            Does the <c>LIMIT</c> clause take a "maximum" row number
            instead of a total number of returned rows?
            </summary>
            <returns>false, unless overridden</returns>
        </member>
        <member name="T:NHibernate.Dialect.MsSql2005Dialect">
            <summary>
            A <see cref="T:NHibernate.Dialect.Dialect"/> for <c>Microsoft Sql Server 2005</c>.
            </summary>
        </member>
        <member name="M:NHibernate.Dialect.MsSql2005Dialect.GetLimitString(NHibernate.SqlCommand.SqlString,System.Int32,System.Int32)">
            <summary>
            Add a <c>LIMIT</c> clause to the given SQL <c>SELECT</c>
            </summary>
            <param name="querySqlString">The <see cref="T:NHibernate.SqlCommand.SqlString"/> to base the limit query off of.</param>
            <param name="offset">Offset of the first row to be returned by the query (zero-based)</param>
            <param name="last">Maximum number of rows to be returned by the query</param>
            <returns>A new <see cref="T:NHibernate.SqlCommand.SqlString"/> with the <c>LIMIT</c> clause applied.</returns>
            <remarks>
            The <c>LIMIT</c> SQL will look like
            <code>
            WITH query AS
                (SELECT TOP last ROW_NUMBER() OVER (ORDER BY orderby) as __hibernate_row_nr__, ... original_query)
             SELECT * 
               FROM query
               WHERE __hibernate_row_nr__ &gt; offset
               ORDER BY __hibernate_row_nr__
            </code>
            </remarks>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2005Dialect.SupportsLimit">
            <summary>
            Sql Server 2005 supports a query statement that provides <c>LIMIT</c>
            functionallity.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="P:NHibernate.Dialect.MsSql2005Dialect.SupportsLimitOffset">
            <summary>
            Sql Server 2005 supports a query statement that provides <c>LIMIT</c>
            functionallity with an offset.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="T:NHibernate.Dialect.MsSql7Dialect">
            <summary>
            An SQL dialect compatible with Microsoft SQL Server 7.
            </summary>
            <remarks>
            There have been no test run with this because the NHibernate team does not
            have a machine with Sql 7 installed on it.  But there have been users using
            Ms Sql 7 with NHibernate.  As issues with Ms Sql 7 and NHibernate become known
            this Dialect will be updated.
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.MsSql7Dialect.GetIdentitySelectString(System.String,System.String)">
            <summary>
            Uses @@identity to get the Id value.
            </summary>
            <remarks>
            There is a well known problem with @@identity and triggers that insert into
            rows into other tables that also use an identity column.  The only way I know
            of to get around this problem is to upgrade your database server to Ms Sql 2000.
            </remarks>
        </member>
        <member name="T:NHibernate.Dialect.MsSqlCeDialect">
            <summary>
            A dialect for SQL Server Everywhere (SQL Server CE).
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.MySQLDialect">
            <summary>
            A SQL dialect for MySQL
            </summary>
            <remarks>
            The MySQLDialect defaults the following configuration properties:
            <list type="table">
            	<listheader>
            		<term>Property</term>
            		<description>Default Value</description>
            	</listheader>
            	<item>
            		<term>hibernate.use_outer_join</term>
            		<description><c>true</c></description>
            	</item>
            	<item>
            		<term>hibernate.connection.driver_class</term>
            		<description><see cref="T:NHibernate.Driver.MySqlDataDriver"/></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.MySQLDialect.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.MySQLDialect.GetIdentitySelectString(System.String,System.String)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.MySQLDialect.GetLimitString(NHibernate.SqlCommand.SqlString,System.Boolean)">
            <summary>
            
            </summary>
            <param name="querySqlString"></param>
            <param name="hasOffset"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.MySQLDialect.GetAddForeignKeyConstraintString(System.String,System.String[],System.String,System.String[])">
            <summary>
            
            </summary>
            <param name="constraintName"></param>
            <param name="foreignKey"></param>
            <param name="referencedTable"></param>
            <param name="primaryKey"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Dialect.MySQLDialect.GetDropForeignKeyConstraintString(System.String)">
            <summary>
            Create the SQL string to drop a foreign key constraint.
            </summary>
            <param name="constraintName">The name of the foreign key to drop.</param>
            <returns>The SQL string to drop the foreign key constraint.</returns>
        </member>
        <member name="M:NHibernate.Dialect.MySQLDialect.GetDropPrimaryKeyConstraintString(System.String)">
            <summary>
            Create the SQL string to drop a primary key constraint.
            </summary>
            <param name="constraintName">The name of the primary key to drop.</param>
            <returns>The SQL string to drop the primary key constraint.</returns>
        </member>
        <member name="M:NHibernate.Dialect.MySQLDialect.GetDropIndexConstraintString(System.String)">
            <summary>
            Create the SQL string to drop an index.
            </summary>
            <param name="constraintName">The name of the index to drop.</param>
            <returns>The SQL string to drop the index constraint.</returns>
        </member>
        <member name="P:NHibernate.Dialect.MySQLDialect.AddColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MySQLDialect.QualifyIndexName">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MySQLDialect.SupportsIdentityColumns">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MySQLDialect.IdentityColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MySQLDialect.CloseQuote">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MySQLDialect.OpenQuote">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.MySQLDialect.SupportsLimit">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Dialect.Oracle9Dialect">
            <summary>
            It's a immature version, it just work.
            An SQL dialect for Oracle 9
            </summary>
            <remarks>
            The Oracle9Dialect defaults the following configuration properties:
            <list type="table">
            	<listheader>
            		<term>Property</term>
            		<description>Default Value</description>
            	</listheader>
            	<item>
            		<term>hibernate.use_outer_join</term>
            		<description><c>true</c></description>
            	</item>
            	<item>
            		<term>hibernate.connection.driver_class</term>
            		<description><see cref="T:NHibernate.Driver.OracleClientDriver"/></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.Oracle9Dialect.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.Oracle9Dialect.GetSequenceNextValString(System.String)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.Oracle9Dialect.GetCreateSequenceString(System.String)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.Oracle9Dialect.GetDropSequenceString(System.String)">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.Oracle9Dialect.AddColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.Oracle9Dialect.CascadeConstraintsString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.Oracle9Dialect.SupportsSequences">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.Oracle9Dialect.SupportsLimit">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.Oracle9Dialect.BindLimitParametersInReverseOrder">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.Oracle9Dialect.UseMaxForLimit">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Dialect.OracleDialect">
            <summary>
            An SQL dialect for Oracle, compatible with Oracle 8.
            </summary>
        </member>
        <member name="M:NHibernate.Dialect.OracleDialect.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.OracleDialect.CreateOuterJoinFragment">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.OracleDialect.CreateCaseFragment">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Dialect.PostgreSQL81Dialect">
            <summary>
            An SQL dialect for PostgreSQL 8.1 and above.
            </summary>
            <remarks>
            <para>
            PostgreSQL 8.1 supports <c>FOR UPDATE ... NOWAIT</c> syntax.
            </para>
            <para>
            PostgreSQL supports Identity column using the "SERIAL" type.
            Serial type is a "virtual" type that will automatically:
            </para>
            <list type="bullet">
            <item><description>Create a sequence named tablename_colname_seq.</description></item>
            <item><description>Set the default value of this column to the next value of the 
            sequence. (using function <c>nextval('tablename_colname_seq')</c>)</description></item>
            <item><description>Add a "NOT NULL" constraint to this column.</description></item>
            <item><description>Set the sequence as "owned by" the table.</description></item>
            </list>
            <para>
            To insert the next value of the sequence into the serial column,
            exclude the column from the list of columns 
            in the INSERT statement or use the DEFAULT key word.
            </para>
            <para>
            If the table or the column is dropped, the sequence is dropped too.
            </para>
            </remarks>
            <seealso cref="T:NHibernate.Dialect.PostgreSQLDialect"/>
        </member>
        <member name="T:NHibernate.Dialect.PostgreSQLDialect">
            <summary>
            An SQL dialect for PostgreSQL.
            </summary>
            <remarks>
            The PostgreSQLDialect defaults the following configuration properties:
            <list type="table">
            	<listheader>
            		<term>Property</term>
            		<description>Default Value</description>
            	</listheader>
            	<item>
            		<term>hibernate.use_outer_join</term>
            		<description><c>true</c></description>
            	</item>
            	<item>
            		<term>hibernate.connection.driver_class</term>
            		<description><see cref="T:NHibernate.Driver.NpgsqlDriver"/></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.PostgreSQLDialect.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.PostgreSQLDialect.GetLimitString(NHibernate.SqlCommand.SqlString,System.Boolean)">
            <summary>
            
            </summary>
            <param name="querySqlString"></param>
            <param name="hasOffset">Offset of the first row to process in the result set is non-zero</param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Dialect.PostgreSQLDialect.AddColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.PostgreSQLDialect.DropConstraints">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.PostgreSQL81Dialect.GetIdentitySelectString(System.String,System.String)">
            <summary>
            PostgreSQL 8.1 and above defined the fuction <c>lastval()</c> that returns the
            value of the last sequence that <c>nextval()</c> was used on in the current session.
            Call <c>lastval()</c> if <c>nextval()</c> has not yet been called in the current
            session throw an exception.
            </summary>
            <param name="identityColumn">not used</param>
            <param name="tableName">not used</param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Dialect.PostgreSQL81Dialect.SupportsIdentityColumns">
            <summary>
            PostgreSQL supports Identity column using the "SERIAL" type.
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.PostgreSQL81Dialect.HasDataTypeInIdentityColumn">
            <summary>
            PostgreSQL doesn't have type in identity column.
            </summary>
            <remarks>
            To create an identity column it uses the SQL syntax
            <c>CREATE TABLE tablename (colname SERIAL);</c> or 
            <c>CREATE TABLE tablename (colname BIGSERIAL);</c>
            </remarks>
        </member>
        <member name="P:NHibernate.Dialect.PostgreSQL81Dialect.IdentityColumnString">
            <summary>
            PostgreSQL supports <c>serial</c> and <c>serial4</c> type for 4 bytes integer auto increment column.
            <c>bigserial</c> or <c>serial8</c> can be used for 8 bytes integer auto increment column.
            This dialect uses <c>serial</c>
            </summary>
        </member>
        <member name="P:NHibernate.Dialect.PostgreSQL81Dialect.NoColumnsInsertString">
            <summary>
            The sql syntax to insert a row without specifying any column in PostgreSQL is
            <c>INSERT INTO table DEFAULT VALUES;</c>
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.PostgreSQL82Dialect">
            <summary>
            An SQL dialect for PostgreSQL 8.2 and above.
            </summary>
            <remarks>
            PostgreSQL 8.2 supports <c>DROP TABLE IF EXISTS tablename</c>
            and <c>DROP SEQUENCE IF EXISTS sequencename</c> syntax.
            See <see cref="T:NHibernate.Dialect.PostgreSQLDialect"/> for more information.
            </remarks>
        </member>
        <member name="T:NHibernate.Dialect.SQLiteDialect">
            <summary>
            A SQL dialect for SQLite.
            </summary>
            <remarks>
            <p>
            Author: <a href="mailto:ib@stalker.ro"> Ioan Bizau </a>
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.SQLiteDialect.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:NHibernate.Dialect.SQLiteDialect.GetIdentitySelectString(System.String,System.String)">
            <summary>
            
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.SybaseAnywhereDialect">
            <summary>
            An SQL dialect for Sybase Adaptive Server Anywhere 9.0
            </summary>
            <remarks>
            <p>
            This dialect probably will not work with schema-export.  If anyone out there
            can fill in the ctor with DbTypes to Strings that would be helpful.
            </p>
            The SybaseAnywhereDialect defaults the following configuration properties:
            <list type="table">
            	<listheader>
            		<term>Property</term>
            		<description>Default Value</description>
            	</listheader>
            	<item>
            		<term>hibernate.use_outer_join</term>
            		<description><c>true</c></description>
            	</item>
            	<item>
            		<term>hibernate.connection.driver_class</term>
            		<description><see cref="T:NHibernate.Driver.SybaseClientDriver"/></description>
            	</item>
            	<item>
            		<term>hibernate.prepare_sql</term>
            		<description><c>false</c></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.SybaseAnywhereDialect.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.SybaseAnywhereDialect.GetIdentitySelectString(System.String,System.String)">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.SybaseAnywhereDialect.IdentityColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.SybaseAnywhereDialect.NoColumnsInsertString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.SybaseAnywhereDialect.DropConstraints">
            <summary>
            ASA does not require to drop constraint before dropping tables, and DROP statement
            syntax used by Hibernate to drop constraint is not compatible with ASA, so disable it.  
            Comments matchs SybaseAnywhereDialect from Hibernate-3.1 src
            </summary>
        </member>
        <member name="T:NHibernate.Dialect.SybaseDialect">
            <summary>
            An SQL dialect compatible with Sybase.
            </summary>
            <remarks>
            <p>
            This dialect probably will not work with schema-export.  If anyone out there
            can fill in the ctor with DbTypes to Strings that would be helpful.
            </p>
            The SybaseDialect defaults the following configuration properties:
            <list type="table">
            	<listheader>
            		<term>Property</term>
            		<description>Default Value</description>
            	</listheader>
            	<item>
            		<term>hibernate.use_outer_join</term>
            		<description><c>true</c></description>
            	</item>
            	<item>
            		<term>hibernate.connection.driver_class</term>
            		<description><see cref="T:NHibernate.Driver.SybaseClientDriver"/></description>
            	</item>
            	<item>
            		<term>hibernate.prepare_sql</term>
            		<description><c>false</c></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.SybaseDialect.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.SybaseDialect.GetIdentitySelectString(System.String,System.String)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Dialect.SybaseDialect.QuoteForAliasName(System.String)">
            <remarks>
            Sybase does not support quoted aliases, this function thus returns
            <c>aliasName</c> as is.
            </remarks>
        </member>
        <member name="P:NHibernate.Dialect.SybaseDialect.AddColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.SybaseDialect.NullColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.SybaseDialect.QualifyIndexName">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.SybaseDialect.ForUpdateString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.SybaseDialect.SupportsIdentityColumns">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.SybaseDialect.IdentityColumnString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Dialect.SybaseDialect.NoColumnsInsertString">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Dialect.TypeNames">
            <summary>
            This class maps a DbType to names.
            </summary>
            <remarks>
            Associations may be marked with a capacity. Calling the <c>Get()</c>
            method with a type and actual size n will return the associated
            name with smallest capacity >= n, if available and an unmarked
            default type otherwise.
            Eg, setting
            <code>
            	Names.Put(DbType,			"TEXT" );
            	Names.Put(DbType,	255,	"VARCHAR($1)" );
            	Names.Put(DbType,	65534,	"LONGVARCHAR($1)" );
            </code>
            will give you back the following:
            <code>
            	Names.Get(DbType)			// --> "TEXT" (default)
            	Names.Get(DbType,100)		// --> "VARCHAR(100)" (100 is in [0:255])
            	Names.Get(DbType,1000)	// --> "LONGVARCHAR(1000)" (100 is in [256:65534])
            	Names.Get(DbType,100000)	// --> "TEXT" (default)
            </code>
            On the other hand, simply putting
            <code>
            	Names.Put(DbType, "VARCHAR($1)" );
            </code>
            would result in
            <code>
            	Names.Get(DbType)			// --> "VARCHAR($1)" (will cause trouble)
            	Names.Get(DbType,100)		// --> "VARCHAR(100)" 
            	Names.Get(DbType,1000)	// --> "VARCHAR(1000)"
            	Names.Get(DbType,10000)	// --> "VARCHAR(10000)"
            </code>
            </remarks>
        </member>
        <member name="M:NHibernate.Dialect.TypeNames.#ctor(System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="placeholder">String to be replaced by actual size/length in type names</param>
        </member>
        <member name="M:NHibernate.Dialect.TypeNames.Get(System.Data.DbType)">
            <summary>
            Get default type name for specified type
            </summary>
            <param name="typecode">the type key</param>
            <returns>the default type name associated with the specified key</returns>
        </member>
        <member name="M:NHibernate.Dialect.TypeNames.Get(System.Data.DbType,System.Int32)">
            <summary>
            Get the type name specified type and size
            </summary>
            <param name="typecode">the type key</param>
            <param name="size">the (maximum) type size/length</param>
            <returns>
            The associated name with smallest capacity >= size if available and the
            default type name otherwise
            </returns>
        </member>
        <member name="M:NHibernate.Dialect.TypeNames.Put(System.Data.DbType,System.Int32,System.String)">
            <summary>
            Set a type name for specified type key and capacity
            </summary>
            <param name="typecode">the type key</param>
            <param name="capacity">the (maximum) type size/length</param>
            <param name="value">The associated name</param>
        </member>
        <member name="M:NHibernate.Dialect.TypeNames.Put(System.Data.DbType,System.String)">
            <summary>
            
            </summary>
            <param name="typecode"></param>
            <param name="value"></param>
        </member>
        <member name="T:NHibernate.Driver.ASAClientDriver">
            <summary>
            The ASAClientDriver Driver provides a database driver for Adaptive Server Anywhere 9.0.
            </summary>
        </member>
        <member name="T:NHibernate.Driver.DriverBase">
            <summary>
            Base class for the implementation of IDriver
            </summary>
        </member>
        <member name="T:NHibernate.Driver.IDriver">
            <summary>
            A strategy for describing how NHibernate should interact with the different .NET Data
            Providers.
            </summary>
            <remarks>
            <para>
            The <c>IDriver</c> interface is not intended to be exposed to the application.
            Instead it is used internally by NHibernate to obtain connection objects, command objects, and
            to generate and prepare <see cref="T:System.Data.IDbCommand">IDbCommands</see>. Implementors should provide a
            public default constructor.
            </para>
            <para>
            This is the interface to implement, or you can inherit from <see cref="T:NHibernate.Driver.DriverBase"/> 
            if you have an ADO.NET data provider that NHibernate does not have built in support for.
            To use the driver, NHibernate property <c>hibernate.connection.driver_class</c> should be
            set to the assembly-qualified name of the driver class.
            </para>
            <code>
            key="hibernate.connection.driver_class"
            value="FullyQualifiedClassName, AssemblyName"
            </code>
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.IDriver.Configure(System.Collections.IDictionary)">
            <summary>
            Configure the driver using <paramref name="settings"/>.
            </summary>
        </member>
        <member name="M:NHibernate.Driver.IDriver.CreateConnection">
            <summary>
            Creates an uninitialized IDbConnection object for the specific Driver
            </summary>
        </member>
        <member name="M:NHibernate.Driver.IDriver.GenerateCommand(System.Data.CommandType,NHibernate.SqlCommand.SqlString,NHibernate.SqlTypes.SqlType[])">
            <summary>
            Generates an IDbCommand from the SqlString according to the requirements of the DataProvider.
            </summary>
            <param name="type">The <see cref="T:System.Data.CommandType"/> of the command to generate.</param>
            <param name="sqlString">The SqlString that contains the SQL.</param>
            <param name="parameterTypes">The types of the parameters to generate for the command.</param>
            <returns>An IDbCommand with the CommandText and Parameters fully set.</returns>
        </member>
        <member name="M:NHibernate.Driver.IDriver.PrepareCommand(System.Data.IDbCommand)">
            <summary>
            Prepare the <paramref name="command"/> by calling <see cref="M:System.Data.IDbCommand.Prepare"/>.
            May be a no-op if the driver does not support preparing commands, or for any other reason.
            </summary>
            <param name="command"></param>
        </member>
        <member name="M:NHibernate.Driver.IDriver.CreateBatcher(NHibernate.Impl.ConnectionManager)">
            <summary>
            Create an instance of <see cref="T:NHibernate.Engine.IBatcher"/> according to the configuration 
            and the capabilities of the driver
            </summary>
            <param name="connectionManager">The connection manager for the batcher.</param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Driver.IDriver.SupportsMultipleOpenReaders">
            <summary>
            Does this Driver support having more than 1 open IDataReader with
            the same IDbConnection.
            </summary>
            <remarks>
            <para>
            A value of <c>false</c> indicates that an exception would be thrown if NHibernate
            attempted to have 2 IDataReaders open using the same IDbConnection.  NHibernate
            (since this version is a close to straight port of Hibernate) relies on the 
            ability to recursively open 2 IDataReaders.  If the Driver does not support it
            then NHibernate will read the values from the IDataReader into an <see cref="T:NHibernate.Driver.NDataReader"/>.
            </para>
            <para>
            A value of <c>true</c> will result in greater performance because an IDataReader can be used
            instead of the <see cref="T:NHibernate.Driver.NDataReader"/>.  So if the Driver supports it then make sure
            it is set to <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="P:NHibernate.Driver.IDriver.SupportsMultipleQueries">
            <summary>
            Can we issue several select queries in a single query, and get
            several result sets back?
            </summary>
        </member>
        <member name="M:NHibernate.Driver.DriverBase.FormatNameForSql(System.String)">
            <summary>
            Change the parameterName into the correct format IDbCommand.CommandText
            for the ConnectionProvider
            </summary>
            <param name="parameterName">The unformatted name of the parameter</param>
            <returns>A parameter formatted for an IDbCommand.CommandText</returns>
        </member>
        <member name="M:NHibernate.Driver.DriverBase.FormatNameForParameter(System.String)">
            <summary>
            Changes the parameterName into the correct format for an IDbParameter
            for the Driver.
            </summary>
            <remarks>
            For SqlServerConnectionProvider it will change <c>id</c> to <c>@id</c>
            </remarks>
            <param name="parameterName">The unformatted name of the parameter</param>
            <returns>A parameter formatted for an IDbParameter.</returns>
        </member>
        <member name="M:NHibernate.Driver.DriverBase.CreateBatcher(NHibernate.Impl.ConnectionManager)">
            <summary>
            Create an instance of <see cref="T:NHibernate.Engine.IBatcher"/> according to the configuration 
            and the capabilities of the driver
            </summary>
            <remarks>
            By default, .Net doesn't have any batching capabilities, drivers that does have
            batching support need to override this method and return their own batcher.
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.DriverBase.GenerateParameter(System.Data.IDbCommand,System.String,NHibernate.SqlTypes.SqlType)">
            <summary>
            Generates an IDbDataParameter for the IDbCommand.  It does not add the IDbDataParameter to the IDbCommand's
            Parameter collection.
            </summary>
            <param name="command">The IDbCommand to use to create the IDbDataParameter.</param>
            <param name="name">The name to set for IDbDataParameter.Name</param>
            <param name="sqlType">The SqlType to set for IDbDataParameter.</param>
            <returns>An IDbDataParameter ready to be added to an IDbCommand.</returns>
        </member>
        <member name="P:NHibernate.Driver.DriverBase.UseNamedPrefixInSql">
            <summary>
            Does this Driver require the use of a Named Prefix in the SQL statement.  
            </summary>
            <remarks>
            For example, SqlClient requires <c>select * from simple where simple_id = @simple_id</c>
            If this is false, like with the OleDb provider, then it is assumed that  
            the <c>?</c> can be a placeholder for the parameter in the SQL statement.
            </remarks>
        </member>
        <member name="P:NHibernate.Driver.DriverBase.UseNamedPrefixInParameter">
            <summary>
            Does this Driver require the use of the Named Prefix when trying
            to reference the Parameter in the Command's Parameter collection.  
            </summary>
            <remarks>
            This is really only useful when the UseNamedPrefixInSql == true.  When this is true the
            code will look like:
            <code>IDbParameter param = cmd.Parameters["@paramName"]</code>
            if this is false the code will be 
            <code>IDbParameter param = cmd.Parameters["paramName"]</code>.
            </remarks>
        </member>
        <member name="P:NHibernate.Driver.DriverBase.NamedPrefix">
            <summary>
            The Named Prefix for parameters.  
            </summary>
            <remarks>
            Sql Server uses <c>"@"</c> and Oracle uses <c>":"</c>.
            </remarks>
        </member>
        <member name="P:NHibernate.Driver.DriverBase.SupportsPreparingCommands">
            <summary>
            Does this Driver support IDbCommand.Prepare().
            </summary>
            <remarks>
            <para>
            A value of <c>false</c> indicates that an exception would be thrown or the 
            company that produces the Driver we are wrapping does not recommend using
            IDbCommand.Prepare().
            </para>
            <para>
            A value of <c>true</c> indicates that calling IDbCommand.Prepare() will function
            fine on this Driver.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.ReflectionBasedDriver.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Driver.ReflectionBasedDriver"/> with
            type names that are loaded from the specified assembly.
            </summary>
            <param name="driverAssemblyName">Assembly to load the types from.</param>
            <param name="connectionTypeName">Connection type name.</param>
            <param name="commandTypeName">Command type name.</param>
        </member>
        <member name="M:NHibernate.Driver.ASAClientDriver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Driver.ASAClientDriver"/> class.
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the ASA.Data.AseClient assembly is not and can not be loaded.
            </exception>
        </member>
        <member name="P:NHibernate.Driver.ASAClientDriver.UseNamedPrefixInSql">
            <summary>
            iAnywhere.Data.AsaClient uses named parameters in the sql.
            </summary>
            <value><c>true</c> - Sybase uses <c>String.Empty</c> in the sql.</value>
        </member>
        <member name="P:NHibernate.Driver.ASAClientDriver.NamedPrefix">
            <summary>
            iAnywhere.Data.AsaClient use the <c>string.Empty</c> to locate parameters in sql.
            </summary>
        </member>
        <member name="T:NHibernate.Driver.DB2400Driver">
            <summary>
            A NHibernate Driver for using the IBM.Data.DB2.iSeries DataProvider.
            </summary>
        </member>
        <member name="M:NHibernate.Driver.DB2400Driver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Driver.DB2Driver"/> class.
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the <c>IBM.Data.DB2.iSeries</c> assembly can not be loaded.
            </exception>
        </member>
        <member name="T:NHibernate.Driver.DB2Driver">
            <summary>
            A NHibernate Driver for using the IBM.Data.DB2 DataProvider.
            </summary>
        </member>
        <member name="M:NHibernate.Driver.DB2Driver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Driver.DB2Driver"/> class.
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the <c>IBM.Data.DB2</c> assembly can not be loaded.
            </exception>
        </member>
        <member name="T:NHibernate.Driver.FirebirdClientDriver">
            <summary>
            A NHibernate Driver for using the Firebird data provider located in
            <c>FirebirdSql.Data.FirebirdClient</c> assembly.
            </summary>
        </member>
        <member name="M:NHibernate.Driver.FirebirdClientDriver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Driver.FirebirdDriver"/> class.
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the <c>FirebirdSql.Data.Firebird</c> assembly can not be loaded.
            </exception>
        </member>
        <member name="T:NHibernate.Driver.FirebirdDriver">
            <summary>
            A NHibernate Driver for using the FirebirdSql.Data.Firebird DataProvider.
            </summary>
        </member>
        <member name="M:NHibernate.Driver.FirebirdDriver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Driver.FirebirdDriver"/> class.
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the <c>FirebirdSql.Data.Firebird</c> assembly can not be loaded.
            </exception>
        </member>
        <member name="T:NHibernate.Driver.IngresDriver">
            <summary>
            A NHibernate Driver for using the Ingres DataProvider
            </summary>
            <remarks>
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.IngresDriver.#ctor">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.IngresDriver.UseNamedPrefixInSql">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.IngresDriver.UseNamedPrefixInParameter">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.IngresDriver.NamedPrefix">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Driver.MySqlDataDriver">
            <summary>
            The MySqlDataDriver Driver provides a database driver for MySql.
            </summary>
            <remarks>
            <p>
            In order to use this Driver you must have the assembly <c>MySql.Data.dll</c> available for 
            NHibernate to load it.  The assembly <c>ICSharpCode.SharpZipLib.dll</c> is also required by
            the assembly <c>MySql.Data.dll</c>.
            </p>
            <p>
            Please check the products website 
            <a href="http://www.mysql.com/products/connector/net/">http://www.mysql.com/products/connector/net/</a>
            for any updates and or documentation.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.MySqlDataDriver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Driver.MySqlDataDriver"/> class.
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the <c>MySql.Data assembly</c> can not be loaded.
            </exception>
        </member>
        <member name="P:NHibernate.Driver.MySqlDataDriver.UseNamedPrefixInSql">
            <summary>
            MySql.Data uses named parameters in the sql.
            </summary>
            <value><c>true</c> - MySql uses <c>?</c> in the sql.</value>
        </member>
        <member name="P:NHibernate.Driver.MySqlDataDriver.UseNamedPrefixInParameter">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.MySqlDataDriver.NamedPrefix">
            <summary>
            MySql.Data use the <c>?</c> to locate parameters in sql.
            </summary>
            <value><c>?</c> is used to locate parameters in sql.</value>
        </member>
        <member name="P:NHibernate.Driver.MySqlDataDriver.SupportsMultipleOpenReaders">
            <summary>
            The MySql.Data driver does NOT support more than 1 open IDataReader
            with only 1 IDbConnection.
            </summary>
            <value><c>false</c> - it is not supported.</value>
        </member>
        <member name="P:NHibernate.Driver.MySqlDataDriver.SupportsPreparingCommands">
            <summary>
            MySql.Data does not support preparing of commands.
            </summary>
            <value><c>false</c> - it is not supported.</value>
            <remarks>
            With the Gamma MySql.Data provider it is throwing an exception with the 
            message "Expected End of data packet" when a select command is prepared.
            </remarks>
        </member>
        <member name="T:NHibernate.Driver.NDataReader">
            <summary>
            Some Data Providers (ie - SqlClient) do not support Multiple Active Result Sets (MARS).
            NHibernate relies on being able to create MARS to read Components and entities inside
            of Collections.
            </summary>
            <remarks>
            This is a completely off-line DataReader - the underlying IDataReader that was used to create
            this has been closed and no connections to the Db exists.
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.#ctor(System.Data.IDataReader,System.Boolean)">
            <summary>
            Creates a NDataReader from a <see cref="T:System.Data.IDataReader"/>
            </summary>
            <param name="reader">The <see cref="T:System.Data.IDataReader"/> to get the records from the Database.</param>
            <param name="isMidstream"><c>true</c> if we are loading the <see cref="T:System.Data.IDataReader"/> in the middle of reading it.</param>
            <remarks>
            NHibernate attempts to not have to read the contents of an <see cref="T:System.Data.IDataReader"/> into memory until it absolutely
            has to.  What that means is that it might have processed some records from the <see cref="T:System.Data.IDataReader"/> and will
            pick up the <see cref="T:System.Data.IDataReader"/> midstream so that the underlying <see cref="T:System.Data.IDataReader"/> can be closed 
            so a new one can be opened.
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.ClearCache">
            <summary>
            Sets the values that can be cached back to null and sets the 
            index of the cached column to -1
            </summary>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.NextResult">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.Close">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.Read">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetSchemaTable">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.Dispose">
            <summary>
            Takes care of freeing the managed and unmanaged resources that 
            this class is responsible for.
            </summary>
            <remarks>
            There are not any unmanaged resources or any disposable managed 
            resources that this class is holding onto.  It is in here
            to comply with the <see cref="T:System.Data.IDataReader"/> interface.
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetInt32(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetValue(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.IsDBNull(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <param name="fieldOffset"></param>
            <param name="buffer"></param>
            <param name="bufferOffset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetByte(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetFieldType(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetDecimal(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetValues(System.Object[])">
            <summary>
            
            </summary>
            <param name="values"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetName(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetInt64(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetDouble(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetBoolean(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetGuid(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetDateTime(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetOrdinal(System.String)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetDataTypeName(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetFloat(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetData(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <param name="fieldOffset"></param>
            <param name="buffer"></param>
            <param name="bufferOffset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetString(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetChar(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.GetInt16(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Driver.NDataReader.RecordsAffected">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.NDataReader.IsClosed">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.NDataReader.Depth">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.NDataReader.Item(System.String)">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.NDataReader.Item(System.Int32)">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.NDataReader.FieldCount">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Driver.NDataReader.NResult">
            <summary>
            Stores a Result from a DataReader in memory.
            </summary>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.NResult.#ctor(System.Data.IDataReader,System.Boolean)">
            <summary>
            Initializes a new instance of the NResult class.
            </summary>
            <param name="reader">The IDataReader to populate the Result with.</param>
            <param name="isMidstream">
            <c>true</c> if the <see cref="T:System.Data.IDataReader"/> is already positioned on the record
            to start reading from.
            </param>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.NResult.GetDataTypeName(System.Int32)">
            <summary>
            
            </summary>
            <param name="colIndex"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.NResult.GetFieldCount">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.NResult.GetFieldType(System.Int32)">
            <summary>
            
            </summary>
            <param name="colIndex"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.NResult.GetName(System.Int32)">
            <summary>
            
            </summary>
            <param name="colIndex"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.NResult.GetSchemaTable">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.NResult.GetOrdinal(System.String)">
            <summary>
            
            </summary>
            <param name="colName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.NResult.GetValue(System.Int32,System.Int32)">
            <summary>
            
            </summary>
            <param name="rowIndex"></param>
            <param name="colIndex"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.NResult.GetValue(System.Int32,System.String)">
            <summary>
            
            </summary>
            <param name="rowIndex"></param>
            <param name="colName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NDataReader.NResult.GetValues(System.Int32,System.Object[])">
            <summary>
            
            </summary>
            <param name="rowIndex"></param>
            <param name="values"></param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Driver.NDataReader.NResult.RowCount">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Driver.NHybridDataReader">
            <summary>
            An implementation of <see cref="T:System.Data.IDataReader"/> that will work with either an 
            <see cref="T:System.Data.IDataReader"/> returned by Execute or with an <see cref="T:System.Data.IDataReader"/>
            whose contents have been read into a <see cref="T:NHibernate.Driver.NDataReader"/>.
            </summary>
            <remarks>
            <para>
            This allows NHibernate to use the underlying <see cref="T:System.Data.IDataReader"/> for as long as
            possible without the need to read everything into the <see cref="T:NHibernate.Driver.NDataReader"/>.
            </para>
            <para>
            The consumer of the <see cref="T:System.Data.IDataReader"/> returned from <see cref="T:NHibernate.Engine.IBatcher"/> does
            not need to know the underlying reader and can use it the same even if it switches from an
            <see cref="T:System.Data.IDataReader"/> to <see cref="T:NHibernate.Driver.NDataReader"/> in the middle of its use.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.#ctor(System.Data.IDataReader)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Driver.NHybridDataReader"/> class.
            </summary>
            <param name="reader">The underlying IDataReader to use.</param>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.#ctor(System.Data.IDataReader,System.Boolean)">
            <summary>
            Initializes a new instance of the NHybridDataReader class.
            </summary>
            <param name="reader">The underlying IDataReader to use.</param>
            <param name="inMemory"><c>true</c> if the contents of the IDataReader should be read into memory right away.</param>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.ReadIntoMemory">
            <summary>
            Reads all of the contents into memory because another <see cref="T:System.Data.IDataReader"/>
            needs to be opened.
            </summary>
            <remarks>
            This will result in a no op if the reader is closed or is already in memory.
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.NextResult">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.Close">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.Read">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetSchemaTable">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Driver.NHybridDataReader._isAlreadyDisposed">
            <summary>
            A flag to indicate if <c>Disose()</c> has been called.
            </summary>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.Finalize">
            <summary>
            Finalizer that ensures the object is correctly disposed of.
            </summary>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.Dispose">
            <summary>
            Takes care of freeing the managed and unmanaged resources that 
            this class is responsible for.
            </summary>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.Dispose(System.Boolean)">
            <summary>
            Takes care of freeing the managed and unmanaged resources that 
            this class is responsible for.
            </summary>
            <param name="isDisposing">Indicates if this NHybridDataReader is being Disposed of or Finalized.</param>
            <remarks>
            If this NHybridDataReader is being Finalized (<c>isDisposing==false</c>) then make sure not
            to call any methods that could potentially bring this NHybridDataReader back to life.
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetInt32(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetValue(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.IsDBNull(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <param name="fieldOffset"></param>
            <param name="buffer"></param>
            <param name="bufferoffset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetByte(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetFieldType(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetDecimal(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetValues(System.Object[])">
            <summary>
            
            </summary>
            <param name="values"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetName(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetInt64(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetDouble(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetBoolean(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetGuid(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetDateTime(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetOrdinal(System.String)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetDataTypeName(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetFloat(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetData(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <param name="fieldoffset"></param>
            <param name="buffer"></param>
            <param name="bufferoffset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetString(System.Int32)">
            <summary>
             
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetChar(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Driver.NHybridDataReader.GetInt16(System.Int32)">
            <summary>
            
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Driver.NHybridDataReader.IsMidstream">
            <summary>
            Gets if the object is in the middle of reading a Result.
            </summary>
            <value><c>true</c> if NextResult and Read have been called on the <see cref="T:System.Data.IDataReader"/>.</value>
        </member>
        <member name="P:NHibernate.Driver.NHybridDataReader.RecordsAffected">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.NHybridDataReader.IsClosed">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.NHybridDataReader.Depth">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.NHybridDataReader.Item(System.String)">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.NHybridDataReader.System#Data#IDataRecord#Item(System.Int32)">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.NHybridDataReader.FieldCount">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Driver.NpgsqlDriver">
            <summary>
            The PostgreSQL data provider provides a database driver for PostgreSQL.
            <p>
            Author: <a href="mailto:oliver@weichhold.com">Oliver Weichhold</a>
            </p>
            </summary>
            <remarks>
            <p>
            In order to use this Driver you must have the Npgsql.dll Assembly available for 
            NHibernate to load it.
            </p>
            <p>
            Please check the products website 
            <a href="http://www.postgresql.org/">http://www.postgresql.org/</a>
            for any updates and or documentation.
            </p>
            <p>
            The homepage for the .NET DataProvider is: 
            <a href="http://gborg.postgresql.org/project/npgsql/projdisplay.php">http://gborg.postgresql.org/project/npgsql/projdisplay.php</a>. 
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.NpgsqlDriver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Driver.NpgsqlDriver"/> class.
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the <c>Npgsql</c> assembly can not be loaded.
            </exception>
        </member>
        <member name="T:NHibernate.Driver.OdbcDriver">
            <summary>
            A NHibernate Driver for using the Odbc DataProvider
            </summary>
            <remarks>
            Always look for a native .NET DataProvider before using the Odbc DataProvider.
            </remarks>
        </member>
        <member name="T:NHibernate.Driver.OleDbDriver">
            <summary>
            A NHibernate Driver for using the OleDb DataProvider
            </summary>
            <remarks>
            Always look for a native .NET DataProvider before using the OleDb DataProvider.
            </remarks>
        </member>
        <member name="P:NHibernate.Driver.OleDbDriver.SupportsMultipleOpenReaders">
            <summary>
            OLE DB provider does not support multiple open data readers
            </summary>
        </member>
        <member name="T:NHibernate.Driver.OracleClientDriver">
            <summary>
            A NHibernate Driver for using the Oracle DataProvider.
            </summary>
        </member>
        <member name="T:NHibernate.Driver.OracleDataClientDriver">
            <summary>
            A NHibernate Driver for using the Oracle.DataAccess DataProvider
            </summary>
            <remarks>
            Code was contributed by <a href="http://sourceforge.net/users/jemcalgary/">James Mills</a>
            on the NHibernate forums in this 
            <a href="http://sourceforge.net/forum/message.php?msg_id=2952662">post</a>.
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.OracleDataClientDriver.#ctor">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Driver.OracleDataClientDriver"/>.
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the <c>Oracle.DataAccess</c> assembly can not be loaded.
            </exception>
        </member>
        <member name="M:NHibernate.Driver.OracleDataClientDriver.InitializeParameter(System.Data.IDbDataParameter,System.String,NHibernate.SqlTypes.SqlType)">
            <remarks>
            This adds logic to ensure that a DbType.Boolean parameter is not created since
            ODP.NET doesn't support it.
            </remarks>
        </member>
        <member name="P:NHibernate.Driver.OracleDataClientDriver.UseNamedPrefixInSql">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.OracleDataClientDriver.UseNamedPrefixInParameter">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.OracleDataClientDriver.NamedPrefix">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Driver.SqlClientDriver">
            <summary>
            A NHibernate Driver for using the SqlClient DataProvider
            </summary>
        </member>
        <member name="M:NHibernate.Driver.SqlClientDriver.CreateConnection">
            <summary>
            Creates an uninitialized <see cref="T:System.Data.IDbConnection"/> object for 
            the SqlClientDriver.
            </summary>
            <value>An unitialized <see cref="T:System.Data.SqlClient.SqlConnection"/> object.</value>
        </member>
        <member name="M:NHibernate.Driver.SqlClientDriver.CreateCommand">
            <summary>
            Creates an uninitialized <see cref="T:System.Data.IDbCommand"/> object for 
            the SqlClientDriver.
            </summary>
            <value>An unitialized <see cref="T:System.Data.SqlClient.SqlCommand"/> object.</value>
        </member>
        <member name="M:NHibernate.Driver.SqlClientDriver.CreateBatcher(NHibernate.Impl.ConnectionManager)">
            <summary>
            Create an instance of <see cref="T:NHibernate.Engine.IBatcher"/> according to the configuration 
            and the capabilities of the driver
            </summary>
            <remarks>
            By default, .Net doesn't have any batching capabilities, drivers that does have
            batching support need to override this method and return their own batcher.
            </remarks>
        </member>
        <member name="P:NHibernate.Driver.SqlClientDriver.UseNamedPrefixInSql">
            <summary>
            MsSql requires the use of a Named Prefix in the SQL statement.  
            </summary>
            <remarks>
            <c>true</c> because MsSql uses "<c>@</c>".
            </remarks>
        </member>
        <member name="P:NHibernate.Driver.SqlClientDriver.UseNamedPrefixInParameter">
            <summary>
            MsSql requires the use of a Named Prefix in the Parameter.  
            </summary>
            <remarks>
            <c>true</c> because MsSql uses "<c>@</c>".
            </remarks>
        </member>
        <member name="P:NHibernate.Driver.SqlClientDriver.NamedPrefix">
            <summary>
            The Named Prefix for parameters.  
            </summary>
            <value>
            Sql Server uses <c>"@"</c>.
            </value>
        </member>
        <member name="P:NHibernate.Driver.SqlClientDriver.SupportsMultipleOpenReaders">
            <summary>
            The SqlClient driver does NOT support more than 1 open IDataReader
            with only 1 IDbConnection.
            </summary>
            <value><c>false</c> - it is not supported.</value>
            <remarks>
            MS SQL Server 2000 (and 7) throws an exception when multiple IDataReaders are 
            attempted to be opened.  When SQL Server 2005 comes out a new driver will be 
            created for it because SQL Server 2005 is supposed to support it.
            </remarks>
        </member>
        <member name="T:NHibernate.Driver.SQLite20Driver">
            <summary>
            NHibernate driver for the System.Data.SQLite data provider for .NET 2.0.
            </summary>
            <remarks>
            <p>
            In order to use this driver you must have the System.Data.SQLite.dll assembly available
            for NHibernate to load. This assembly includes the SQLite.dll or SQLite3.dll libraries.
            </p>    
            <p>
            You can get the System.Data.SQLite.dll assembly from http://sourceforge.net/projects/sqlite-dotnet2.
            </p>
            <p>
            Please check <a href="http://www.sqlite.org/">http://www.sqlite.org/</a> for more information regarding SQLite.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.SQLite20Driver.#ctor">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Driver.SQLiteDriver"/>.
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the <c>SQLite.NET</c> assembly can not be loaded.
            </exception>
        </member>
        <member name="T:NHibernate.Driver.SQLiteDriver">
            <summary>
            NHibernate driver for the SQLite.NET data provider.
            <p>
            Author: <a href="mailto:ib@stalker.ro"> Ioan Bizau </a>
            </p>
            </summary>
            <remarks>
            <p>
            In order to use this Driver you must have the SQLite.NET.dll Assembly available for NHibernate to load it.
            You must also have the SQLite.dll and SQLite3.dll libraries.
            </p>
            <p>
            Please check <a href="http://www.sqlite.org/"> http://www.sqlite.org/ </a> for more information regarding SQLite.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.SQLiteDriver.#ctor">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Driver.SQLiteDriver"/>.
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the <c>SQLite.NET</c> assembly can not be loaded.
            </exception>
        </member>
        <member name="T:NHibernate.Driver.SqlServerCeDriver">
            <summary>
            A NHibernate driver for Microsoft SQL Server CE data provider
            </summary>
        </member>
        <member name="M:NHibernate.Driver.SqlServerCeDriver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Driver.SqlServerCeDriver"/> class.
            </summary>
        </member>
        <member name="P:NHibernate.Driver.SqlServerCeDriver.UseNamedPrefixInSql">
            <summary>
            MsSql requires the use of a Named Prefix in the SQL statement.  
            </summary>
            <remarks>
            <c>true</c> because MsSql uses "<c>@</c>".
            </remarks>
        </member>
        <member name="P:NHibernate.Driver.SqlServerCeDriver.UseNamedPrefixInParameter">
            <summary>
            MsSql requires the use of a Named Prefix in the Parameter.  
            </summary>
            <remarks>
            <c>true</c> because MsSql uses "<c>@</c>".
            </remarks>
        </member>
        <member name="P:NHibernate.Driver.SqlServerCeDriver.NamedPrefix">
            <summary>
            The Named Prefix for parameters.  
            </summary>
            <value>
            Sql Server uses <c>"@"</c>.
            </value>
        </member>
        <member name="P:NHibernate.Driver.SqlServerCeDriver.SupportsMultipleOpenReaders">
            <summary>
            The SqlClient driver does NOT support more than 1 open IDataReader
            with only 1 IDbConnection.
            </summary>
            <value><c>false</c> - it is not supported.</value>
            <remarks>
            Ms Sql 2000 (and 7) throws an Exception when multiple DataReaders are 
            attempted to be Opened.  When Yukon comes out a new Driver will be 
            created for Yukon because it is supposed to support it.
            </remarks>
        </member>
        <member name="T:NHibernate.Driver.SybaseClientDriver">
            <summary>
            The SybaseClientDriver Driver provides a database driver for Sybase.
            </summary>
            <remarks>
            It has been reported to work with the <see cref="T:NHibernate.Dialect.MsSql2000Dialect"/>.
            </remarks>
        </member>
        <member name="M:NHibernate.Driver.SybaseClientDriver.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Driver.SybaseClientDriver"/> class.
            </summary>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when the Sybase.Data.AseClient assembly can not be loaded.
            </exception>
        </member>
        <member name="P:NHibernate.Driver.SybaseClientDriver.UseNamedPrefixInSql">
            <summary>
            Sybase.Data.AseClient uses named parameters in the sql.
            </summary>
            <value><c>true</c> - Sybase uses <c>@</c> in the sql.</value>
        </member>
        <member name="P:NHibernate.Driver.SybaseClientDriver.UseNamedPrefixInParameter">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Driver.SybaseClientDriver.NamedPrefix">
            <summary>
            Sybase.Data.AseClient use the <c>@</c> to locate parameters in sql.
            </summary>
            <value><c>@</c> is used to locate parameters in sql.</value>
        </member>
        <member name="T:NHibernate.Engine.Query.ParameterParser">
            <summary>
            The single available method <see cref="M:NHibernate.Engine.Query.ParameterParser.Parse(System.String,NHibernate.Engine.Query.ParameterParser.IRecognizer)"/>
            is responsible for parsing a query string and recognizing tokens in
            relation to parameters (either named, ejb3-style, or ordinal) and
            providing callbacks about such recognitions.
            </summary>
        </member>
        <member name="M:NHibernate.Engine.Query.ParameterParser.Parse(System.String,NHibernate.Engine.Query.ParameterParser.IRecognizer)">
            <summary>
            Performs the actual parsing and tokenizing of the query string making appropriate
            callbacks to the given recognizer upon recognition of the various tokens.
            </summary>
            <remarks>
            Note that currently, this only knows how to deal with a single output
            parameter (for callable statements).  If we later add support for
            multiple output params, this, obviously, needs to change.
            </remarks>
            <param name="sqlString">The string to be parsed/tokenized.</param>
            <param name="recognizer">The thing which handles recognition events.</param>
            <exception cref="T:NHibernate.QueryException"/>
        </member>
        <member name="F:NHibernate.Engine.BatchFetchQueue.batchLoadableEntityKeys">
            <summary>
            Defines a sequence of <see cref="T:NHibernate.Engine.EntityKey"/> elements that are currently
            eligible for batch fetching.
            </summary>
            <remarks>
            Even though this is a map, we only use the keys.  A map was chosen in
            order to utilize a <see cref="T:NHibernate.Util.SequencedHashMap"/> to maintain sequencing
            as well as uniqueness.
            </remarks>
        </member>
        <member name="F:NHibernate.Engine.BatchFetchQueue.subselectsByEntityKey">
            <summary>
            A map of <see cref="T:NHibernate.Engine.SubselectFetch">subselect-fetch descriptors</see>
            keyed by the <see cref="T:NHibernate.Engine.EntityKey"/> against which the descriptor is
            registered.
            </summary>
        </member>
        <member name="F:NHibernate.Engine.BatchFetchQueue.session">
            <summary>
            The owning persistence context.
            </summary>
        </member>
        <member name="M:NHibernate.Engine.BatchFetchQueue.#ctor(NHibernate.Engine.ISessionImplementor)">
            <summary>
            Constructs a queue for the given context.
            </summary>
            <param name="session">The owning persistence context.</param>
        </member>
        <member name="M:NHibernate.Engine.BatchFetchQueue.Clear">
            <summary>
            Clears all entries from this fetch queue.
            </summary>
        </member>
        <member name="M:NHibernate.Engine.BatchFetchQueue.GetSubselect(NHibernate.Engine.EntityKey)">
            <summary>
            Retrieve the fetch descriptor associated with the given entity key.
            </summary>
            <param name="key">The entity key for which to locate any defined subselect fetch.</param>
            <returns>The fetch descriptor; may return null if no subselect fetch queued for
            this entity key.</returns>
        </member>
        <member name="M:NHibernate.Engine.BatchFetchQueue.AddSubselect(NHibernate.Engine.EntityKey,NHibernate.Engine.SubselectFetch)">
            <summary>
            Adds a subselect fetch decriptor for the given entity key.
            </summary>
            <param name="key">The entity for which to register the subselect fetch.</param>
            <param name="subquery">The fetch descriptor.</param>
        </member>
        <member name="M:NHibernate.Engine.BatchFetchQueue.RemoveSubselect(NHibernate.Engine.EntityKey)">
            <summary>
            After evicting or deleting an entity, we don't need to
            know the query that was used to load it anymore (don't
            call this after loading the entity, since we might still
            need to load its collections)
            </summary>
        </member>
        <member name="M:NHibernate.Engine.BatchFetchQueue.ClearSubselects">
            <summary>
            Clears all pending subselect fetches from the queue.
            </summary>
            <remarks>
            Called after flushing.
            </remarks>
        </member>
        <member name="M:NHibernate.Engine.BatchFetchQueue.AddBatchLoadableEntityKey(NHibernate.Engine.EntityKey)">
            <summary>
            If an EntityKey represents a batch loadable entity, add
            it to the queue.
            </summary>
            <remarks>
            Note that the contract here is such that any key passed in should
            previously have been been checked for existence within the
            <see cref="T:NHibernate.ISession"/>; failure to do so may cause the
            referenced entity to be included in a batch even though it is
            already associated with the <see cref="T:NHibernate.ISession"/>.
            </remarks>
        </member>
        <member name="M:NHibernate.Engine.BatchFetchQueue.RemoveBatchLoadableEntityKey(NHibernate.Engine.EntityKey)">
            <summary>
            After evicting or deleting or loading an entity, we don't
            need to batch fetch it anymore, remove it from the queue
            if necessary
            </summary>
        </member>
        <member name="M:NHibernate.Engine.BatchFetchQueue.GetCollectionBatch(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Int32)">
            <summary>
            Get a batch of uninitialized collection keys for a given role
            </summary>
            <param name="collectionPersister">The persister for the collection role.</param>
            <param name="id">A key that must be included in the batch fetch</param>
            <param name="batchSize">the maximum number of keys to return</param>
            <returns>an array of collection keys, of length batchSize (padded with nulls)</returns>
        </member>
        <member name="M:NHibernate.Engine.BatchFetchQueue.GetEntityBatch(NHibernate.Persister.Entity.IEntityPersister,System.Object,System.Int32)">
            <summary>
            Get a batch of unloaded identifiers for this class, using a slightly
            complex algorithm that tries to grab keys registered immediately after
            the given key.
            </summary>
            <param name="persister">The persister for the entities being loaded.</param>
            <param name="id">The identifier of the entity currently demanding load.</param>
            <param name="batchSize">The maximum number of keys to return</param>
            <returns>an array of identifiers, of length batchSize (possibly padded with nulls)</returns>
        </member>
        <member name="T:NHibernate.Engine.CascadePoint">
            <summary>
            The types of children to cascade to
            </summary>
        </member>
        <member name="F:NHibernate.Engine.CascadePoint.CascadeAfterInsertBeforeDelete">
            <summary>
            A cascade point that occurs just after the insertion of the parent
            entity and just before deletion
            </summary>
        </member>
        <member name="F:NHibernate.Engine.CascadePoint.CascadeBeforeInsertAfterDelete">
            <summary>
            A cascade point that occurs just before the insertion of the parent entity
            and just after deletion
            </summary>
        </member>
        <member name="F:NHibernate.Engine.CascadePoint.CascadeAfterInsertBeforeDeleteViaCollection">
            <summary>
            A cascade point that occurs just after the insertion of the parent entity
            and just before deletion, inside a collection
            </summary>
        </member>
        <member name="F:NHibernate.Engine.CascadePoint.CascadeOnUpdate">
            <summary>
            A cascade point that occurs just after the update of the parent entity
            </summary>
        </member>
        <member name="F:NHibernate.Engine.CascadePoint.CascadeOnEvict">
            <summary>
            A cascade point that occurs just after eviction of the parent entity from the
            session cache
            </summary>
        </member>
        <member name="F:NHibernate.Engine.CascadePoint.CascadeOnLock">
            <summary>
            A cascade point that occurs just after locking a transient parent entity into the session cache
            </summary>
        </member>
        <member name="F:NHibernate.Engine.CascadePoint.CascadeOnCopy">
            <summary>
            A cascade point that occurs just after copying from a transient parent entity into the object in the session cache
            </summary>
        </member>
        <member name="T:NHibernate.Engine.Cascades">
            <summary>
            Summary description for Cascades.
            </summary>
        </member>
        <member name="M:NHibernate.Engine.Cascades.Cascade(NHibernate.Engine.ISessionImplementor,System.Object,NHibernate.Type.IType,NHibernate.Engine.Cascades.CascadingAction,NHibernate.Engine.Cascades.CascadeStyle,NHibernate.Engine.CascadePoint,System.Object)">
            <summary>
            Cascade an action to the child or children
            </summary>
            <param name="session"></param>
            <param name="child"></param>
            <param name="type"></param>
            <param name="action"></param>
            <param name="style"></param>
            <param name="cascadeTo"></param>
            <param name="anything"></param>
        </member>
        <member name="M:NHibernate.Engine.Cascades.Cascade(NHibernate.Engine.ISessionImplementor,NHibernate.Persister.Entity.IEntityPersister,System.Object,NHibernate.Engine.Cascades.CascadingAction,NHibernate.Engine.CascadePoint)">
            <summary>
            
            </summary>
            <param name="session"></param>
            <param name="persister"></param>
            <param name="parent"></param>
            <param name="action"></param>
            <param name="cascadeTo"></param>
        </member>
        <member name="M:NHibernate.Engine.Cascades.Cascade(NHibernate.Engine.ISessionImplementor,NHibernate.Persister.Entity.IEntityPersister,System.Object,NHibernate.Engine.Cascades.CascadingAction,NHibernate.Engine.CascadePoint,System.Object)">
            <summary>
            Cascade an action from the parent object to all its children.
            </summary>
            <param name="session"></param>
            <param name="persister"></param>
            <param name="parent"></param>
            <param name="action"></param>
            <param name="cascadeTo"></param>
            <param name="anything"></param>
        </member>
        <member name="M:NHibernate.Engine.Cascades.CascadeCollection(NHibernate.Engine.Cascades.CascadingAction,NHibernate.Engine.Cascades.CascadeStyle,NHibernate.Type.CollectionType,NHibernate.Type.IType,System.Object,NHibernate.Engine.CascadePoint,NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Cascade to the collection elements
            </summary>
            <param name="action"></param>
            <param name="style"></param>
            <param name="collectionType"></param>
            <param name="elemType"></param>
            <param name="child"></param>
            <param name="cascadeVia"></param>
            <param name="session"></param>
            <param name="anything"></param>
        </member>
        <member name="T:NHibernate.Engine.Cascades.CascadingAction">
            <summary>
            A session action that may be cascaded from parent entity to its children
            </summary>
        </member>
        <member name="M:NHibernate.Engine.Cascades.CascadingAction.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Engine.Cascades.CascadingAction.Cascade(NHibernate.Engine.ISessionImplementor,System.Object,System.Object)">
            <summary>
            Cascade the action to the child object
            </summary>
        </member>
        <member name="M:NHibernate.Engine.Cascades.CascadingAction.CascadableChildrenCollection(NHibernate.Type.CollectionType,System.Object)">
            <summary>
            The children to whom we should cascade.
            </summary>
        </member>
        <member name="M:NHibernate.Engine.Cascades.CascadingAction.DeleteOrphans">
            <summary>
            Do we need to handle orphan delete for this action?
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadingAction.ActionDelete">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadingAction.ActionLock">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadingAction.ActionEvict">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadingAction.ActionSaveUpdate">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadingAction.ActionCopy">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadingAction.ActionReplicate">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Engine.Cascades.CascadeStyle">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Engine.Cascades.CascadeStyle.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Engine.Cascades.CascadeStyle.DoCascade(NHibernate.Engine.Cascades.CascadingAction)">
            <summary>
            Should the given action be cascaded?
            </summary>
            <param name="action"></param>
            <returns></returns>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadeStyle.StyleAllDeleteOrphan">
            <summary>
            Save / Delete / Update / Evict / Lock / Replicate + delete orphans
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadeStyle.StyleAll">
            <summary>
            Save / Delete / Update / Evict / Lock / Replicate
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadeStyle.StyleSaveUpdate">
            <summary>
            Save / Update / Lock / Replicate
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadeStyle.StyleOnlyDelete">
            <summary>
            Delete
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadeStyle.StyleDeleteOrphan">
            <summary>
            Delete + delete orphans
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.CascadeStyle.StyleNone">
            <summary>
            No Cascades
            </summary>
        </member>
        <member name="P:NHibernate.Engine.Cascades.CascadeStyle.HasOrphanDelete">
            <summary>
            Do we delete orphans automatically?
            </summary>
        </member>
        <member name="T:NHibernate.Engine.Cascades.IdentifierValue">
            <summary>
            A strategy for determining if an identifier value is an identifier of a new 
            transient instance or a previously persistent transient instance. The strategy
            is determined by the <c>Unsaved-Value</c> attribute in the mapping file.
            </summary>
        </member>
        <member name="M:NHibernate.Engine.Cascades.IdentifierValue.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Engine.Cascades.IdentifierValue.#ctor(System.Object)">
            <summary>
            Assume the transient instance is newly instantiated if its identifier is null or
            equal to <c>Value</c>
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:NHibernate.Engine.Cascades.IdentifierValue.IsUnsaved(System.Object)">
            <summary>
            Does the given identifier belong to a new instance
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.IdentifierValue.SaveAny">
            <summary>
            Always assume the transient instance is newly instantiated
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.IdentifierValue.SaveNone">
            <summary>
            Never assume that transient instance is newly instantiated
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.IdentifierValue.SaveNull">
            <summary>
            Assume the transient instance is newly instantiated if the identifier
            is null.
            </summary>
        </member>
        <member name="T:NHibernate.Engine.Cascades.VersionValue">
            <summary>
            A strategy for determining if a version value is an version of
            a new transient instance or a previously persistent transient instance.
            The strategy is determined by the <c>Unsaved-Value</c> attribute in the mapping file.
            </summary>
        </member>
        <member name="M:NHibernate.Engine.Cascades.VersionValue.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Engine.Cascades.VersionValue.#ctor(System.Object)">
            <summary>
            Assume the transient instance is newly instantiated if its version is null or
            equal to <c>Value</c>
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:NHibernate.Engine.Cascades.VersionValue.IsUnsaved(System.Object)">
            <summary>
            Does the given identifier belong to a new instance
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.VersionValue.VersionSaveNull">
            <summary>
            Assume the transient instance is newly instantiated if the version
            is null, otherwise assume it is a detached instance.
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.VersionValue.VersionUndefined">
            <summary>
            Assume the transient instance is newly instantiated if the version
            is null, otherwise defer to the identifier unsaved-value.
            </summary>
        </member>
        <member name="F:NHibernate.Engine.Cascades.VersionValue.VersionNegative">
            <summary>
            Assume the transient instance is newly instantiated if the identifier
            is null.
            </summary>
        </member>
        <member name="T:NHibernate.Engine.EntityKey">
            <summary>
            A globally unique identifier of an instance, consisting of the user-visible identifier
            and the identifier space (eg. tablename)
            </summary>
        </member>
        <member name="M:NHibernate.Engine.EntityKey.#ctor(System.Object,NHibernate.Persister.Entity.IEntityPersister)">
            <summary>
            Construct a unique identifier for an entity class instace
            </summary>
            <param name="id"></param>
            <param name="p"></param>
        </member>
        <member name="M:NHibernate.Engine.EntityKey.ToString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Engine.EntityKey.Identifier">
            <summary>
            The user-visible identifier
            </summary>
        </member>
        <member name="P:NHibernate.Engine.EntityKey.MappedClass">
            <summary>
            
            </summary>
        </member>
        <member name="P:NHibernate.Engine.EntityKey.IsBatchLoadable">
            <summary>
            
            </summary>
        </member>
        <member name="T:NHibernate.Engine.FilterDefinition">
            <summary>
            A FilterDefinition defines the global attributes of a dynamic filter.  This
            information includes its name as well as its defined parameters (name and type).
            </summary>
        </member>
        <member name="M:NHibernate.Engine.FilterDefinition.#ctor(System.String,System.String,System.Collections.IDictionary)">
            <summary>
            Set the named parameter's value list for this filter. 
            </summary>
            <param name="name">The name of the filter for which this configuration is in effect.</param>
            <param name="defaultCondition">The default filter condition.</param>
            <param name="parameterTypes">A dictionary storing the NHibernate <see cref="T:NHibernate.Type.IType"/> type
            of each parameter under its name.</param>
        </member>
        <member name="M:NHibernate.Engine.FilterDefinition.GetParameterType(System.String)">
            <summary>
            Retreive the type of the named parameter defined for this filter.
            </summary>
            <param name="parameterName">The name of the filter parameter for which to return the type.</param>
            <returns>The type of the named parameter.</returns>
        </member>
        <member name="P:NHibernate.Engine.FilterDefinition.FilterName">
            <summary>
            Get the name of the filter this configuration defines.
            </summary>
            <returns>The filter name for this configuration.</returns>
        </member>
        <member name="P:NHibernate.Engine.FilterDefinition.ParameterNames">
            <summary>
            Get a set of the parameters defined by this configuration.
            </summary>
            <returns>The parameters named by this configuration.</returns>
        </member>
        <member name="T:NHibernate.Engine.IBatcher">
            <summary>
            Manages <see cref="T:System.Data.IDbCommand"/>s and <see cref="T:System.Data.IDataReader"/>s 
            for an <see cref="T:NHibernate.ISession"/>. 
            </summary>
            <remarks>
            <p>
            Abstracts ADO.NET batching to maintain the illusion that a single logical batch 
            exists for the whole session, even when batching is disabled.
            Provides transparent <c>IDbCommand</c> caching.
            </p>
            <p>
            This will be useful once ADO.NET gets support for batching.  Until that point
            no code exists that will do batching, but this will provide a good point to do
            error checking and making sure the correct number of rows were affected.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Engine.IBatcher.PrepareQueryCommand(System.Data.CommandType,NHibernate.SqlCommand.SqlString,NHibernate.SqlTypes.SqlType[])">
            <summary>
            Get an <see cref="T:System.Data.IDbCommand"/> for using in loading / querying.
            </summary>
            <param name="sql">The <see cref="T:NHibernate.SqlCommand.SqlString"/> to convert to an <see cref="T:System.Data.IDbCommand"/>.</param>
            <param name="commandType">The <see cref="T:System.Data.CommandType"/> of the command.</param>
            <param name="parameterTypes">The <see cref="T:NHibernate.SqlTypes.SqlType">SqlTypes</see> of parameters
            in <paramref name="sql"/>.</param>
            <returns>
            An <see cref="T:System.Data.IDbCommand"/> that is ready to be executed.
            </returns>
            <remarks>
            <para>
            If not explicitly released by <see cref="M:NHibernate.Engine.IBatcher.CloseCommand(System.Data.IDbCommand,System.Data.IDataReader)"/>, it will be 
            released when the session is closed or disconnected.
            </para>
            <para>
            This does NOT add anything to the batch - it only creates the IDbCommand and 
            does NOT cause the batch to execute...
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Engine.IBatcher.PrepareCommand(System.Data.CommandType,NHibernate.SqlCommand.SqlString,NHibernate.SqlTypes.SqlType[])">
            <summary>
            Get a non-batchable an <see cref="T:System.Data.IDbCommand"/> to use for inserting / deleting / updating.
            Must be explicitly released by <c>CloseCommand()</c>
            </summary>
            <param name="sql">The <see cref="T:NHibernate.SqlCommand.SqlString"/> to convert to an <see cref="T:System.Data.IDbCommand"/>.</param>
            <param name="commandType">The <see cref="T:System.Data.CommandType"/> of the command.</param>
            <param name="parameterTypes">The <see cref="T:NHibernate.SqlTypes.SqlType">SqlTypes</see> of parameters
            in <paramref name="sql"/>.</param>
            <returns>
            An <see cref="T:System.Data.IDbCommand"/> that is ready to have the parameter values set
            and then executed.
            </returns>
        </member>
        <member name="M:NHibernate.Engine.IBatcher.CloseCommand(System.Data.IDbCommand,System.Data.IDataReader)">
            <summary>
            Close a <see cref="T:System.Data.IDbCommand"/> opened using <c>PrepareCommand()</c>
            </summary>
            <param name="cmd">The <see cref="T:System.Data.IDbCommand"/> to ensure is closed.</param>
            <param name="reader">The <see cref="T:System.Data.IDataReader"/> to ensure is closed.</param>
        </member>
        <member name="M:NHibernate.Engine.IBatcher.PrepareBatchCommand(System.Data.CommandType,NHibernate.SqlCommand.SqlString,NHibernate.SqlTypes.SqlType[])">
            <summary>
            Get a batchable <see cref="T:System.Data.IDbCommand"/> to use for inserting / deleting / updating
            (might be called many times before a single call to <c>ExecuteBatch()</c>
            </summary>
            <remarks>
            After setting parameters, call <c>AddToBatch()</c> - do not execute the statement
            explicitly.
            </remarks>
            <param name="sql">The <see cref="T:NHibernate.SqlCommand.SqlString"/> to convert to an <see cref="T:System.Data.IDbCommand"/>.</param>
            <param name="commandType">The <see cref="T:System.Data.CommandType"/> of the command.</param>
            <param name="parameterTypes">The <see cref="T:NHibernate.SqlTypes.SqlType">SqlTypes</see> of parameters
            in <paramref name="sql"/>.</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.IBatcher.AddToBatch(NHibernate.AdoNet.IExpectation)">
            <summary>
            Add an insert / delete / update to the current batch (might be called multiple times
            for a single <c>PrepareBatchStatement()</c>)
            </summary>
            <param name="expectation">Determines whether the number of rows affected by query is correct.</param>
        </member>
        <member name="M:NHibernate.Engine.IBatcher.ExecuteBatch">
            <summary>
            Execute the batch
            </summary>
        </member>
        <member name="M:NHibernate.Engine.IBatcher.CloseCommands">
            <summary>
            Close any query statements that were left lying around
            </summary>
            <remarks>
            Use this method instead of <c>Dispose</c> if the <see cref="T:NHibernate.Engine.IBatcher"/>
            can be used again.
            </remarks>
        </member>
        <member name="M:NHibernate.Engine.IBatcher.ExecuteReader(System.Data.IDbCommand)">
            <summary>
            Gets an <see cref="T:System.Data.IDataReader"/> by calling ExecuteReader on the <see cref="T:System.Data.IDbCommand"/>.
            </summary>
            <param name="cmd">The <see cref="T:System.Data.IDbCommand"/> to execute to get the <see cref="T:System.Data.IDataReader"/>.</param>
            <returns>The <see cref="T:System.Data.IDataReader"/> from the <see cref="T:System.Data.IDbCommand"/>.</returns>
            <remarks>
            The Batcher is responsible for ensuring that all of the Drivers rules for how many open
            <see cref="T:System.Data.IDataReader"/>s it can have are followed.
            </remarks>
        </member>
        <member name="M:NHibernate.Engine.IBatcher.ExecuteNonQuery(System.Data.IDbCommand)">
            <summary>
            Executes the <see cref="T:System.Data.IDbCommand"/>. 
            </summary>
            <param name="cmd">The <see cref="T:System.Data.IDbCommand"/> to execute.</param>
            <returns>The number of rows affected.</returns>
            <remarks>
            The Batcher is responsible for ensuring that all of the Drivers rules for how many open
            <see cref="T:System.Data.IDataReader"/>s it can have are followed.
            </remarks>
        </member>
        <member name="M:NHibernate.Engine.IBatcher.AbortBatch(System.Exception)">
            <summary>
            Must be called when an exception occurs.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:NHibernate.Engine.IBatcher.CancelLastQuery">
            <summary>
            Cancel the current query statement
            </summary>
        </member>
        <member name="P:NHibernate.Engine.IBatcher.HasOpenResources">
            <summary>
            Gets the value indicating whether there are any open resources
            managed by this batcher (IDbCommands or IDataReaders).
            </summary>
        </member>
        <member name="T:NHibernate.Engine.ICollectionSnapshot">
            <summary>
            Defines a complete "snapshot" of a particular collection.
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ICollectionSnapshot.Key">
            <summary>
            Gets the identifier of the Entity that owns this Collection.
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ICollectionSnapshot.Role">
            <summary>
            Gets the role that identifies this Collection.
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ICollectionSnapshot.Snapshot">
            <summary>
            Gets the snapshot copy of the Collection's elements.
            </summary>
            <remarks>
            In most cases this is the same collection type as the one being snapshotted. 
            ie - the snapshot of an IList will return an IList.
            </remarks>
        </member>
        <member name="P:NHibernate.Engine.ICollectionSnapshot.WasDereferenced">
            <summary>
            Gets a <see cref="T:System.Boolean"/> indicating if the collection was at one time
            associated with an Entity and then later dereferenced during a Flush().
            </summary>
        </member>
        <member name="T:NHibernate.Engine.ISessionFactoryImplementor">
            <summary>
            Defines the internal contract between the <c>ISessionFactory</c> and other parts of NHibernate
            such as implementors of <c>IType</c>.
            </summary>
        </member>
        <member name="T:NHibernate.ISessionFactory">
            <summary>
            Creates <c>ISession</c>s.
            </summary>
            <remarks>
            <para>
            Usually an application has a single <c>SessionFactory</c>. Threads servicing client requests
            obtain <c>ISession</c>s from the factory. Implementors must be threadsafe.
            </para>
            <para>
            <c>ISessionFactory</c>s are immutable. The behaviour of a <c>SessionFactory</c>
            is controlled by properties supplied at configuration time.
            These properties are defined on <c>Environment</c>
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.ISessionFactory.OpenSession(System.Data.IDbConnection)">
            <summary>
            Open a <c>ISession</c> on the given connection
            </summary>
            <param name="conn">A connection provided by the application</param>
            <returns>A session</returns>
            <remarks>
            Note that the second-level cache will be disabled if you
            supply a ADO.NET connection. NHibernate will not be able to track
            any statements you might have executed in the same transaction.
            Consider implementing your own <see cref="T:NHibernate.Connection.IConnectionProvider"/>.
            </remarks>
        </member>
        <member name="M:NHibernate.ISessionFactory.OpenSession(NHibernate.IInterceptor)">
            <summary>
            Create database connection and open a <c>ISession</c> on it, specifying an interceptor
            </summary>
            <param name="interceptor">A session-scoped interceptor</param>
            <returns>A session</returns>
        </member>
        <member name="M:NHibernate.ISessionFactory.OpenSession(System.Data.IDbConnection,NHibernate.IInterceptor)">
            <summary>
            Open a <c>ISession</c> on the given connection, specifying an interceptor
            </summary>
            <param name="conn">A connection provided by the application</param>
            <param name="interceptor">A session-scoped interceptor</param>
            <returns>A session</returns>
            <remarks>
            Note that the second-level cache will be disabled if you
            supply a ADO.NET connection. NHibernate will not be able to track
            any statements you might have executed in the same transaction.
            Consider implementing your own <see cref="T:NHibernate.Connection.IConnectionProvider"/>.
            </remarks>
        </member>
        <member name="M:NHibernate.ISessionFactory.OpenSession">
            <summary>
            Create a database connection and open a <c>ISession</c> on it
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ISessionFactory.OpenDatabinder">
            <summary>
            Create a new databinder.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ISessionFactory.GetClassMetadata(System.Type)">
            <summary>
            Get the <c>ClassMetadata</c> associated with the given entity class
            </summary>
            <param name="persistentType"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ISessionFactory.GetCollectionMetadata(System.String)">
            <summary>
            Get the <c>CollectionMetadata</c> associated with the named collection role
            </summary>
            <param name="roleName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ISessionFactory.GetAllClassMetadata">
            <summary>
            Get all <c>ClassMetadata</c> as a <c>IDictionary</c> from <c>Type</c>
            to metadata object
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ISessionFactory.GetAllCollectionMetadata">
            <summary>
            Get all <c>CollectionMetadata</c> as a <c>IDictionary</c> from role name
            to metadata object
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ISessionFactory.Close">
            <summary>
            Destroy this <c>SessionFactory</c> and release all resources 
            connection pools, etc). It is the responsibility of the application
            to ensure that there are no open <c>Session</c>s before calling
            <c>close()</c>. 
            </summary>
        </member>
        <member name="M:NHibernate.ISessionFactory.Evict(System.Type)">
            <summary>
            Evict all entries from the process-level cache.  This method occurs outside
            of any transaction; it performs an immediate "hard" remove, so does not respect
            any transaction isolation semantics of the usage strategy.  Use with care.
            </summary>
            <param name="persistentClass"></param>
        </member>
        <member name="M:NHibernate.ISessionFactory.Evict(System.Type,System.Object)">
            <summary>
            Evict an entry from the process-level cache.  This method occurs outside
            of any transaction; it performs an immediate "hard" remove, so does not respect
            any transaction isolation semantics of the usage strategy.  Use with care.
            </summary>
            <param name="persistentClass"></param>
            <param name="id"></param>
        </member>
        <member name="M:NHibernate.ISessionFactory.EvictCollection(System.String)">
            <summary>
            Evict all entries from the process-level cache.  This method occurs outside
            of any transaction; it performs an immediate "hard" remove, so does not respect
            any transaction isolation semantics of the usage strategy.  Use with care.
            </summary>
            <param name="roleName"></param>
        </member>
        <member name="M:NHibernate.ISessionFactory.EvictCollection(System.String,System.Object)">
            <summary>
            Evict an entry from the process-level cache.  This method occurs outside
            of any transaction; it performs an immediate "hard" remove, so does not respect
            any transaction isolation semantics of the usage strategy.  Use with care.
            </summary>
            <param name="roleName"></param>
            <param name="id"></param>
        </member>
        <member name="M:NHibernate.ISessionFactory.EvictQueries">
            <summary>
            Evict any query result sets cached in the default query cache region.
            </summary>
        </member>
        <member name="M:NHibernate.ISessionFactory.EvictQueries(System.String)">
            <summary>
            Evict any query result sets cached in the named query cache region.
            </summary>
            <param name="cacheRegion"></param>
        </member>
        <member name="M:NHibernate.ISessionFactory.GetFilterDefinition(System.String)">
            <summary>
            Obtain the definition of a filter by name.
            </summary>
            <param name="filterName">The name of the filter for which to obtain the definition.</param>
            <return>The filter definition.</return>
        </member>
        <member name="M:NHibernate.ISessionFactory.GetCurrentSession">
            <summary>
            Obtains the current session.
            </summary>
            <remarks>
            <para>
            The definition of what exactly "current" means is controlled by the <see cref="T:NHibernate.Context.ICurrentSessionContext"/>
            implementation configured for use.
            </para>
            </remarks>
            <returns>The current session.</returns>
            <exception cref="T:NHibernate.HibernateException">Indicates an issue locating a suitable current session.</exception>
        </member>
        <member name="P:NHibernate.ISessionFactory.ConnectionProvider">
            <summary>
            Get the <see cref="T:NHibernate.Connection.IConnectionProvider"/> used.
            </summary>
        </member>
        <member name="P:NHibernate.ISessionFactory.Dialect">
            <summary>
            Get the SQL <c>Dialect</c>
            </summary>
        </member>
        <member name="P:NHibernate.ISessionFactory.DefinedFilterNames">
            <summary>
            Obtain a set of the names of all filters defined on this SessionFactory.
            </summary>
            <return>The set of filter names.</return>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.GetEntityPersister(System.Type)">
            <summary>
            Get the persister for a class
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.GetEntityPersister(System.String)">
            <summary>
            Get the persister for the named class
            </summary>
            <param name="className">The name of the class that is persisted.</param>
            <returns>The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> for the class.</returns>
            <exception cref="T:NHibernate.MappingException">If no <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> can be found.</exception>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.GetEntityPersister(System.String,System.Boolean)">
            <summary>
            Get the persister for the named class
            </summary>
            <param name="className">The name of the class that is persisted.</param>
            <param name="throwIfNotFound">Whether to throw an exception if the class is not found,
            or just return <c>null</c></param>
            <returns>The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> for the class.</returns>
            <exception cref="T:NHibernate.MappingException">If no <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> can be found
            and throwIfNotFound is true.</exception>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.GetCollectionPersister(System.String)">
            <summary>
            Get the persister object for a collection role
            </summary>
            <param name="role"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.GetReturnTypes(System.String)">
            <summary>
            Get the return types of a query
            </summary>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.GetImplementors(System.Type)">
            <summary>
            Get the names of all persistent classes that implement/extend the given interface/class
            </summary>
            <param name="clazz"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.GetImportedClassName(System.String)">
            <summary>
            Get a class name, using query language imports
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.GetQueryCache(System.String)">
            <summary>
            Get a particular named query cache, or the default cache
            </summary>
            <param name="regionName">the name of the cache region, or null for the default
            query cache</param>
            <returns>the existing cache, or a newly created cache if none by that
            region name</returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.OpenConnection">
            <summary>
            Obtain an ADO.NET connection
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.CloseConnection(System.Data.IDbConnection)">
            <summary>
            Release an ADO.NET connection
            </summary>
            <param name="conn"></param>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.GetIdentifierGenerator(System.Type)">
            <summary>
            Get the identifier generator for the hierarchy
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionFactoryImplementor.OpenSession(System.Data.IDbConnection,NHibernate.ConnectionReleaseMode)">
            <summary>
            Open a session conforming to the given parameters. For use mainly by
            <see cref="T:NHibernate.Context.ICurrentSessionContext"/> implementations.
            </summary>
            <param name="connection">The external ADO.NET connection to use, if any (i.e., optional).</param>
            <param name="connectionReleaseMode">The release mode for managed database connections.</param>
            <returns>An appropriate session.</returns>
            <exception cref="T:NHibernate.HibernateException"/>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.IsOuterJoinedFetchEnabled">
            <summary>
            Is outerjoin fetching enabled?
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.IsScrollableResultSetsEnabled">
            <summary>
            Are scrollable <c>ResultSet</c>s supported?
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.IsGetGeneratedKeysEnabled">
            <summary>
            Is <c>PreparedStatement.getGeneratedKeys</c> supported (Java-specific?)
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.DefaultSchema">
            <summary>
            Get the database schema specified in <c>hibernate.default_schema</c>
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.BatchSize">
            <summary>
            
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.FetchSize">
            <summary>
            
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.MaximumFetchDepth">
            <summary>
            Maximum depth of outer join fetching
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.IsShowSqlEnabled">
            <summary>
            Are we logging SQL to the console?
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.QueryCache">
            <summary>
            Get the default query cache
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.IsQueryCacheEnabled">
            <summary>
            Is query caching enabled?
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.Isolation">
            <summary>
            Gets the IsolationLevel an IDbTransaction should be set to.
            </summary>
            <remarks>
            This is only applicable to manually controlled NHibernate Transactions.
            </remarks>
        </member>
        <member name="P:NHibernate.Engine.ISessionFactoryImplementor.IsBatchUpdateEnabled">
            <summary>
            Gets a boolean indicating if the sql statement should be prepared.  The value
            is calculated from <c>hibernate.adonet.batch_size</c> if the value exists and greater than 0.
            </summary>
        </member>
        <member name="T:NHibernate.Engine.ISessionImplementor">
            <summary>
            Defines the internal contract between the <c>Session</c> and other parts of Hibernate
            such as implementors of <c>Type</c> or <c>ClassPersister</c>
            </summary>
        </member>
        <member name="T:NHibernate.ISession">
            <summary>
            The main runtime interface between a Java application and Hibernate. This is the central
            API class abstracting the notion of a persistence service.
            </summary>
            <remarks>
            <para>
            The lifecycle of a <c>ISession</c> is bounded by the beginning and end of a logical
            transaction. (Long transactions might span several database transactions.)
            </para>
            <para>
            The main function of the <c>ISession</c> is to offer create, find and delete operations
            for instances of mapped entity classes. Instances may exist in one of two states:
            <list>
            	<item>transient: not associated with any <c>ISession</c></item>
            	<item>persistent: associated with a <c>ISession</c></item>
            </list>
            </para>
            <para>
            Transient instances may be made persistent by calling <c>Save()</c>, <c>Insert()</c>,
            or <c>Update()</c>. Persistent instances may be made transient by calling <c>Delete()</c>.
            Any instance returned by a <c>Find()</c>, <c>Iterate()</c>, <c>Load()</c>, or <c>Create</c>
            method is persistent.
            </para>
            <para>
            <c>Save()</c> results in an SQL <c>INSERT</c>, <c>Delete()</c>
            in an SQL <c>DELETE</c> and <c>Update()</c> in an SQL <c>UPDATE</c>. Changes to
            <em>persistent</em> instances are deteced at flush time and also result in an SQL
            <c>UPDATE</c>.
            </para>
            <para>
            It is not intended that implementors be threadsafe. Instead each thread/transaction should obtain
            its own instance from an <c>ISessionFactory</c>.
            </para>
            <para>
            A <c>ISession</c> instance is serializable if its persistent classes are serializable
            </para>
            <para>
            A typical transaction should use the following idiom:
            	<code>
            		ISession sess = factory.OpenSession();
            		ITransaction tx;
            		try {
            			tx = sess.BeginTransaction();
            			//do some work
            			...
            			tx.Commit();
            		} catch (Exception e) {
            			if (tx != null) tx.Rollback();
            			throw;
            		} finally {
            			sess.Close();
            		}
            	</code>
            </para>
            <para>
            If the <c>ISession</c> throws an exception, the transaction must be rolled back and the session
            discarded. The internal state of the <c>ISession</c> might not be consistent with the database
            after the exception occurs.
            </para>
            <seealso cref="T:NHibernate.ISessionFactory"/>
            </remarks>
        </member>
        <member name="M:NHibernate.ISession.Flush">
            <summary>
            Force the <c>ISession</c> to flush.
            </summary>
            <remarks>
            Must be called at the end of a unit of work, before commiting the transaction and closing
            the session (<c>Transaction.Commit()</c> calls this method). <i>Flushing</i> if the process
            of synchronising the underlying persistent store with persistable state held in memory.
            </remarks>
        </member>
        <member name="M:NHibernate.ISession.Disconnect">
            <summary>
            Disconnect the <c>ISession</c> from the current ADO.NET connection.
            </summary>
            <remarks>
            If the connection was obtained by Hibernate, close it or return it to the connection
            pool. Otherwise return it to the application. This is used by applications which require
            long transactions.
            </remarks>
            <returns>The connection provided by the application or <c>null</c></returns>
        </member>
        <member name="M:NHibernate.ISession.Reconnect">
            <summary>
            Obtain a new ADO.NET connection.
            </summary>
            <remarks>
            This is used by applications which require long transactions
            </remarks>
        </member>
        <member name="M:NHibernate.ISession.Reconnect(System.Data.IDbConnection)">
            <summary>
            Reconnect to the given ADO.NET connection.
            </summary>
            <remarks>This is used by applications which require long transactions</remarks>
            <param name="connection">An ADO.NET connection</param>
        </member>
        <member name="M:NHibernate.ISession.Close">
            <summary>
            End the <c>ISession</c> by disconnecting from the ADO.NET connection and cleaning up.
            </summary>
            <remarks>
            It is not strickly necessary to <c>Close()</c> the <c>ISession</c> but you must
            at least <c>Disconnect()</c> it.
            </remarks>
            <returns>The connection provided by the application or <c>null</c></returns>
        </member>
        <member name="M:NHibernate.ISession.CancelQuery">
            <summary>
            Cancel execution of the current query.
            </summary>
            <remarks>
            May be called from one thread to stop execution of a query in another thread.
            Use with care!
            </remarks>
        </member>
        <member name="M:NHibernate.ISession.IsDirty">
            <summary>
            Does this <c>ISession</c> contain any changes which must be
            synchronized with the database? Would any SQL be executed if
            we flushed this session?
            </summary>
        </member>
        <member name="M:NHibernate.ISession.GetIdentifier(System.Object)">
            <summary>
            Return the identifier of an entity instance cached by the <c>ISession</c>
            </summary>
            <remarks>
            Throws an exception if the instance is transient or associated with a different
            <c>ISession</c>
            </remarks>
            <param name="obj">a persistent instance</param>
            <returns>the identifier</returns>
        </member>
        <member name="M:NHibernate.ISession.Contains(System.Object)">
            <summary>
            Is this instance associated with this Session?
            </summary>
            <param name="obj">an instance of a persistent class</param>
            <returns>true if the given instance is associated with this Session</returns>
        </member>
        <member name="M:NHibernate.ISession.Evict(System.Object)">
            <summary>
            Remove this instance from the session cache.
            </summary>
            <remarks>
            Changes to the instance will not be synchronized with the database.
            This operation cascades to associated instances if the association is mapped
            with <c>cascade="all"</c> or <c>cascade="all-delete-orphan"</c>.
            </remarks>
            <param name="obj">a persistent instance</param>
        </member>
        <member name="M:NHibernate.ISession.Load(System.Type,System.Object,NHibernate.LockMode)">
            <summary>
            Return the persistent instance of the given entity class with the given identifier,
            obtaining the specified lock mode.
            </summary>
            <param name="theType">A persistent class</param>
            <param name="id">A valid identifier of an existing persistent instance of the class</param>
            <param name="lockMode">The lock level</param>
            <returns>the persistent instance</returns>
        </member>
        <member name="M:NHibernate.ISession.Load(System.Type,System.Object)">
            <summary>
            Return the persistent instance of the given entity class with the given identifier,
            assuming that the instance exists.
            </summary>
            <remarks>
            You should not use this method to determine if an instance exists (use a query or
            <see cref="M:NHibernate.ISession.Get(System.Type,System.Object)"/> instead). Use this only to retrieve an instance
            that you assume exists, where non-existence would be an actual error.
            </remarks>
            <param name="theType">A persistent class</param>
            <param name="id">A valid identifier of an existing persistent instance of the class</param>
            <returns>The persistent instance or proxy</returns>
        </member>
        <member name="M:NHibernate.ISession.Load``1(System.Object,NHibernate.LockMode)">
            <summary>
            Return the persistent instance of the given entity class with the given identifier,
            obtaining the specified lock mode.
            </summary>
            <typeparam name="T">A persistent class</typeparam>
            <param name="id">A valid identifier of an existing persistent instance of the class</param>
            <param name="lockMode">The lock level</param>
            <returns>the persistent instance</returns>
        </member>
        <member name="M:NHibernate.ISession.Load``1(System.Object)">
            <summary>
            Return the persistent instance of the given entity class with the given identifier,
            assuming that the instance exists.
            </summary>
            <remarks>
            You should not use this method to determine if an instance exists (use a query or
            <see cref="M:NHibernate.ISession.Get``1(System.Object)"/> instead). Use this only to retrieve an instance that you
            assume exists, where non-existence would be an actual error.
            </remarks>
            <typeparam name="T">A persistent class</typeparam>
            <param name="id">A valid identifier of an existing persistent instance of the class</param>
            <returns>The persistent instance or proxy</returns>
        </member>
        <member name="M:NHibernate.ISession.Load(System.Object,System.Object)">
            <summary>
            Read the persistent state associated with the given identifier into the given transient 
            instance.
            </summary>
            <param name="obj">An "empty" instance of the persistent class</param>
            <param name="id">A valid identifier of an existing persistent instance of the class</param>
        </member>
        <member name="M:NHibernate.ISession.Replicate(System.Object,NHibernate.ReplicationMode)">
            <summary>
            Persist all reachable transient objects, reusing the current identifier 
            values. Note that this will not trigger the Interceptor of the Session.
            </summary>
            <param name="obj"></param>
            <param name="replicationMode"></param>
        </member>
        <member name="M:NHibernate.ISession.Save(System.Object)">
            <summary>
            Persist the given transient instance, first assigning a generated identifier.
            </summary>
            <remarks>
            Save will use the current value of the identifier property if the <c>Assigned</c>
            generator is used.
            </remarks>
            <param name="obj">A transient instance of a persistent class</param>
            <returns>The generated identifier</returns>
        </member>
        <member name="M:NHibernate.ISession.Save(System.Object,System.Object)">
            <summary>
            Persist the given transient instance, using the given identifier.
            </summary>
            <param name="obj">A transient instance of a persistent class</param>
            <param name="id">An unused valid identifier</param>
        </member>
        <member name="M:NHibernate.ISession.SaveOrUpdate(System.Object)">
            <summary>
            Either <c>Save()</c> or <c>Update()</c> the given instance, depending upon the value of
            its identifier property.
            </summary>
            <remarks>
            By default the instance is always saved. This behaviour may be adjusted by specifying
            an <c>unsaved-value</c> attribute of the identifier property mapping
            </remarks>
            <param name="obj">A transient instance containing new or updated state</param>
        </member>
        <member name="M:NHibernate.ISession.Update(System.Object)">
            <summary>
            Update the persistent instance with the identifier of the given transient instance.
            </summary>
            <remarks>
            If there is a persistent instance with the same identifier, an exception is thrown. If
            the given transient instance has a <c>null</c> identifier, an exception will be thrown.
            </remarks>
            <param name="obj">A transient instance containing updated state</param>
        </member>
        <member name="M:NHibernate.ISession.Update(System.Object,System.Object)">
            <summary>
            Update the persistent state associated with the given identifier.
            </summary>
            <remarks>
            An exception is thrown if there is a persistent instance with the same identifier
            in the current session.
            </remarks>
            <param name="obj">A transient instance containing updated state</param>
            <param name="id">Identifier of persistent instance</param>
        </member>
        <member name="M:NHibernate.ISession.SaveOrUpdateCopy(System.Object)">
            <summary>
            Copy the state of the given object onto the persistent object with the same
            identifier. If there is no persistent instance currently associated with 
            the session, it will be loaded. Return the persistent instance. If the 
            given instance is unsaved or does not exist in the database, save it and 
            return it as a newly persistent instance. Otherwise, the given instance
            does not become associated with the session.
            </summary>
            <param name="obj">a transient instance with state to be copied</param>
            <returns>an updated persistent instance</returns>
        </member>
        <member name="M:NHibernate.ISession.SaveOrUpdateCopy(System.Object,System.Object)">
            <summary>
            Copy the state of the given object onto the persistent object with the 
            given identifier. If there is no persistent instance currently associated 
            with the session, it will be loaded. Return the persistent instance. If
            there is no database row with the given identifier, save the given instance
            and return it as a newly persistent instance. Otherwise, the given instance
            does not become associated with the session.
            </summary>
            <param name="obj">a persistent or transient instance with state to be copied</param>
            <param name="id">the identifier of the instance to copy to</param>
            <returns>an updated persistent instance</returns>
        </member>
        <member name="M:NHibernate.ISession.Delete(System.Object)">
            <summary>
            Remove a persistent instance from the datastore.
            </summary>
            <remarks>
            The argument may be an instance associated wit hthe receiving <c>ISession</c> or a
            transient instance with an identifier associated with existing persistent state.
            </remarks>
            <param name="obj">The instance to be removed</param>
        </member>
        <member name="M:NHibernate.ISession.Find(System.String)">
            <summary>
            Execute a query
            </summary>
            <param name="query">A query expressed in Hibernate's query language</param>
            <returns>A distinct list of instances</returns>
            <remarks>See <see cref="M:NHibernate.IQuery.List"/> for implications of <c>cache</c> usage.</remarks>
        </member>
        <member name="M:NHibernate.ISession.Find(System.String,System.Object,NHibernate.Type.IType)">
            <summary>
            Execute a query, binding a value to a "?" parameter in the query string.
            </summary>
            <param name="query">The query string</param>
            <param name="value">A value to be bound to a "?" placeholder</param>
            <param name="type">The Hibernate type of the value</param>
            <returns>A distinct list of instances</returns>
            <remarks>See <see cref="M:NHibernate.IQuery.List"/> for implications of <c>cache</c> usage.</remarks>
        </member>
        <member name="M:NHibernate.ISession.Find(System.String,System.Object[],NHibernate.Type.IType[])">
            <summary>
            Execute a query, binding an array of values to a "?" parameters in the query string.
            </summary>
            <param name="query">The query string</param>
            <param name="values">An array of values to be bound to the "?" placeholders</param>
            <param name="types">An array of Hibernate types of the values</param>
            <returns>A distinct list of instances</returns>
            <remarks>See <see cref="M:NHibernate.IQuery.List"/> for implications of <c>cache</c> usage.</remarks>
        </member>
        <member name="M:NHibernate.ISession.Enumerable(System.String)">
            <summary>
            Execute a query and return the results in an interator.
            </summary>
            <remarks>
            <para>
            If the query has multiple return values, values will be returned in an array of 
            type <c>object[]</c>.
            </para>
            <para>
            Entities returned as results are initialized on demand. The first SQL query returns
            identifiers only. So <c>Enumerator()</c> is usually a less efficient way to retrieve
            object than <c>Find()</c>.
            </para>
            </remarks>
            <param name="query">The query string</param>
            <returns>An enumerator</returns>
        </member>
        <member name="M:NHibernate.ISession.Enumerable(System.String,System.Object,NHibernate.Type.IType)">
            <summary>
            Execute a query and return the results in an interator, 
            binding a value to a "?" parameter in the query string.
            </summary>
            <remarks>
            <para>
            If the query has multiple return values, values will be returned in an array of 
            type <c>object[]</c>.
            </para>
            <para>
            Entities returned as results are initialized on demand. The first SQL query returns
            identifiers only. So <c>Enumerator()</c> is usually a less efficient way to retrieve
            object than <c>Find()</c>.
            </para>
            </remarks>
            <param name="query">The query string</param>
            <param name="value">A value to be written to a "?" placeholder in the query string</param>
            <param name="type">The hibernate type of the value</param>
            <returns>An enumerator</returns>
        </member>
        <member name="M:NHibernate.ISession.Enumerable(System.String,System.Object[],NHibernate.Type.IType[])">
            <summary>
            Execute a query and return the results in an interator, 
            binding the values to "?"s parameters in the query string.
            </summary>
            <remarks>
            <para>
            If the query has multiple return values, values will be returned in an array of 
            type <c>object[]</c>.
            </para>
            <para>
            Entities returned as results are initialized on demand. The first SQL query returns
            identifiers only. So <c>Enumerator()</c> is usually a less efficient way to retrieve
            object than <c>Find()</c>.
            </para>
            </remarks>
            <param name="query">The query string</param>
            <param name="values">A list of values to be written to "?" placeholders in the query</param>
            <param name="types">A list of hibernate types of the values</param>
            <returns>An enumerator</returns>
        </member>
        <member name="M:NHibernate.ISession.Filter(System.Object,System.String)">
            <summary>
            Apply a filter to a persistent collection.
            </summary>
            <remarks>
            A filter is a Hibernate query that may refer to <c>this</c>, the collection element.
            Filters allow efficient access to very large lazy collections. (Executing the filter
            does not initialize the collection.)
            </remarks>
            <param name="collection">A persistent collection to filter</param>
            <param name="filter">A filter query string</param>
            <returns>The resulting collection</returns>
        </member>
        <member name="M:NHibernate.ISession.Filter(System.Object,System.String,System.Object,NHibernate.Type.IType)">
            <summary>
            Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder
            </summary>
            <remarks>
            A filter is a Hibernate query that may refer to <c>this</c>, the collection element.
            Filters allow efficient access to very large lazy collections. (Executing the filter
            does not initialize the collection.)
            </remarks>
            <param name="collection">A persistent collection to filter</param>
            <param name="filter">A filter query string</param>
            <param name="value">A value to be written to a "?" placeholder in the query</param>
            <param name="type">The hibernate type of value</param>
            <returns>A collection</returns>
        </member>
        <member name="M:NHibernate.ISession.Filter(System.Object,System.String,System.Object[],NHibernate.Type.IType[])">
            <summary>
            Apply a filter to a persistent collection, binding the given parameters to "?" placeholders.
            </summary>
            <remarks>
            A filter is a Hibernate query that may refer to <c>this</c>, the collection element.
            Filters allow efficient access to very large lazy collections. (Executing the filter
            does not initialize the collection.)
            </remarks>
            <param name="collection">A persistent collection to filter</param>
            <param name="filter">A filter query string</param>
            <param name="values">The values to be written to "?" placeholders in the query</param>
            <param name="types">The hibernate types of the values</param>
            <returns>A collection</returns>
        </member>
        <member name="M:NHibernate.ISession.Delete(System.String)">
            <summary>
            Delete all objects returned by the query.
            </summary>
            <param name="query">The query string</param>
            <returns>Returns the number of objects deleted.</returns>
        </member>
        <member name="M:NHibernate.ISession.Delete(System.String,System.Object,NHibernate.Type.IType)">
            <summary>
            Delete all objects returned by the query.
            </summary>
            <param name="query">The query string</param>
            <param name="value">A value to be written to a "?" placeholer in the query</param>
            <param name="type">The hibernate type of value.</param>
            <returns>The number of instances deleted</returns>
        </member>
        <member name="M:NHibernate.ISession.Delete(System.String,System.Object[],NHibernate.Type.IType[])">
            <summary>
            Delete all objects returned by the query.
            </summary>
            <param name="query">The query string</param>
            <param name="values">A list of values to be written to "?" placeholders in the query</param>
            <param name="types">A list of Hibernate types of the values</param>
            <returns>The number of instances deleted</returns>
        </member>
        <member name="M:NHibernate.ISession.Lock(System.Object,NHibernate.LockMode)">
            <summary>
            Obtain the specified lock level upon the given object.
            </summary>
            <param name="obj">A persistent instance</param>
            <param name="lockMode">The lock level</param>
        </member>
        <member name="M:NHibernate.ISession.Refresh(System.Object)">
            <summary>
            Re-read the state of the given instance from the underlying database.
            </summary>
            <remarks>
            <para>
            It is inadvisable to use this to implement long-running sessions that span many
            business tasks. This method is, however, useful in certain special circumstances.
            </para>
            <para>
            For example,
            <list>
            	<item>Where a database trigger alters the object state upon insert or update</item>
            	<item>After executing direct SQL (eg. a mass update) in the same session</item>
            	<item>After inserting a <c>Blob</c> or <c>Clob</c></item>
            </list>
            </para>
            </remarks>
            <param name="obj">A persistent instance</param>
        </member>
        <member name="M:NHibernate.ISession.Refresh(System.Object,NHibernate.LockMode)">
            <summary>
            Re-read the state of the given instance from the underlying database, with
            the given <c>LockMode</c>.
            </summary>
            <remarks>
            It is inadvisable to use this to implement long-running sessions that span many
            business tasks. This method is, however, useful in certain special circumstances.
            </remarks>
            <param name="obj">a persistent or transient instance</param>
            <param name="lockMode">the lock mode to use</param>
        </member>
        <member name="M:NHibernate.ISession.GetCurrentLockMode(System.Object)">
            <summary>
            Determine the current lock mode of the given object
            </summary>
            <param name="obj">A persistent instance</param>
            <returns>The current lock mode</returns>
        </member>
        <member name="M:NHibernate.ISession.BeginTransaction">
            <summary>
            Begin a unit of work and return the associated <c>ITransaction</c> object.
            </summary>
            <remarks>
            If a new underlying transaction is required, begin the transaction. Otherwise
            continue the new work in the context of the existing underlying transaction.
            The class of the returned <c>Trasnsaction</c> object is determined by the property
            <c>hibernate.transaction_factory</c>
            </remarks>
            <returns>A transaction instance</returns>
        </member>
        <member name="M:NHibernate.ISession.BeginTransaction(System.Data.IsolationLevel)">
            <summary>
            Begin a transaction with the specified <c>isolationLevel</c>
            </summary>
            <param name="isolationLevel">Isolation level for the new transaction</param>
            <returns>A transaction instance having the specified isolation level</returns>
        </member>
        <member name="M:NHibernate.ISession.CreateCriteria(System.Type)">
            <summary>
            Creates a new <c>Criteria</c> for the entity class.
            </summary>
            <param name="persistentClass">The class to Query</param>
            <returns>An ICriteria object</returns>
        </member>
        <member name="M:NHibernate.ISession.CreateCriteria(System.Type,System.String)">
            <summary>
            Creates a new <c>Criteria</c> for the entity class with a specific alias
            </summary>
            <param name="persistentClass">The class to Query</param>
            <param name="alias">The alias of the entity</param>
            <returns>An ICriteria object</returns>
        </member>
        <member name="M:NHibernate.ISession.CreateQuery(System.String)">
            <summary>
            Create a new instance of <c>Query</c> for the given query string
            </summary>
            <param name="queryString">A hibernate query string</param>
            <returns>The query</returns>
        </member>
        <member name="M:NHibernate.ISession.CreateFilter(System.Object,System.String)">
            <summary>
            Create a new instance of <c>Query</c> for the given collection and filter string
            </summary>
            <param name="collection">A persistent collection</param>
            <param name="queryString">A hibernate query</param>
            <returns>A query</returns>
        </member>
        <member name="M:NHibernate.ISession.GetNamedQuery(System.String)">
            <summary>
            Obtain an instance of <see cref="T:NHibernate.IQuery"/> for a named query string defined in the
            mapping file.
            </summary>
            <param name="queryName">The name of a query defined externally.</param>
            <returns>An <see cref="T:NHibernate.IQuery"/> fro a named query string.</returns>
            <remarks>
            The query can be either in <c>hql</c> or <c>sql</c> format.
            </remarks>
        </member>
        <member name="M:NHibernate.ISession.CreateSQLQuery(System.String,System.String,System.Type)">
            <summary>
            Create a new instance of <c>IQuery</c> for the given SQL string.
            </summary>
            <param name="sql">a query expressed in SQL</param>
            <param name="returnAlias">a table alias that appears inside <c>{}</c> in the SQL string</param>
            <param name="returnClass">the returned persistent class</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ISession.CreateSQLQuery(System.String,System.String[],System.Type[])">
            <summary>
            Create a new instance of <see cref="T:NHibernate.IQuery"/> for the given SQL string.
            </summary>
            <param name="sql">a query expressed in SQL</param>
            <param name="returnAliases">an array of table aliases that appear inside <c>{}</c> in the SQL string</param>
            <param name="returnClasses">the returned persistent classes</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ISession.CreateSQLQuery(System.String)">
            <summary>
            Create a new instance of <see cref="T:NHibernate.ISQLQuery"/> for the given SQL query string.
            </summary>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ISession.Clear">
            <summary>
            Completely clear the session. Evict all loaded instances and cancel all pending
            saves, updates and deletions. Do not close open enumerables or instances of
            <c>ScrollableResults</c>.
            </summary>
        </member>
        <member name="M:NHibernate.ISession.Get(System.Type,System.Object)">
            <summary>
            Return the persistent instance of the given entity class with the given identifier, or null
            if there is no such persistent instance. (If the instance, or a proxy for the instance, is
            already associated with the session, return that instance or proxy.)
            </summary>
            <param name="clazz">a persistent class</param>
            <param name="id">an identifier</param>
            <returns>a persistent instance or null</returns>
        </member>
        <member name="M:NHibernate.ISession.Get(System.Type,System.Object,NHibernate.LockMode)">
            <summary>
            Return the persistent instance of the given entity class with the given identifier, or null
            if there is no such persistent instance. Obtain the specified lock mode if the instance
            exists.
            </summary>
            <param name="clazz">a persistent class</param>
            <param name="id">an identifier</param>
            <param name="lockMode">the lock mode</param>
            <returns>a persistent instance or null</returns>
        </member>
        <member name="M:NHibernate.ISession.Get``1(System.Object)">
            <summary>
            Strongly-typed version of <see cref="M:NHibernate.ISession.Get(System.Type,System.Object)"/>
            </summary>
        </member>
        <member name="M:NHibernate.ISession.Get``1(System.Object,NHibernate.LockMode)">
            <summary>
            Strongly-typed version of <see cref="M:NHibernate.ISession.Get(System.Type,System.Object,NHibernate.LockMode)"/>
            </summary>
        </member>
        <member name="M:NHibernate.ISession.EnableFilter(System.String)">
            <summary>
            Enable the named filter for this current session.
            </summary>
            <param name="filterName">The name of the filter to be enabled.</param>
            <returns>The Filter instance representing the enabled fiter.</returns>
        </member>
        <member name="M:NHibernate.ISession.GetEnabledFilter(System.String)">
            <summary>
            Retrieve a currently enabled filter by name.
            </summary>
            <param name="filterName">The name of the filter to be retrieved.</param>
            <returns>The Filter instance representing the enabled fiter.</returns>
        </member>
        <member name="M:NHibernate.ISession.DisableFilter(System.String)">
            <summary>
            Disable the named filter for the current session.
            </summary>
            <param name="filterName">The name of the filter to be disabled.</param>
        </member>
        <member name="M:NHibernate.ISession.CreateMultiQuery">
            <summary>
            Create a multi query, a query that can send several
            queries to the server, and return all their results in a single
            call.
            </summary>
            <returns>
            A list of all the results of all the queries.
            Note that each query result is itself usually a list.
            </returns>
        </member>
        <member name="P:NHibernate.ISession.FlushMode">
            <summary>
            Determines at which points Hibernate automatically flushes the session.
            </summary>
            <remarks>
            For a readonly session, it is reasonable to set the flush mode to <c>FlushMode.Never</c>
            at the start of the session (in order to achieve some extra performance).
            </remarks>
        </member>
        <member name="P:NHibernate.ISession.SessionFactory">
            <summary>
            Get the <see cref="T:NHibernate.ISessionFactory"/> that created this instance.
            </summary>
        </member>
        <member name="P:NHibernate.ISession.Connection">
            <summary>
            Gets the ADO.NET connection.
            </summary>
            <remarks>
            Applications are responsible for calling commit/rollback upon the connection before
            closing the <c>ISession</c>.
            </remarks>
        </member>
        <member name="P:NHibernate.ISession.IsOpen">
            <summary>
            Is the <c>ISession</c> still open?
            </summary>
        </member>
        <member name="P:NHibernate.ISession.IsConnected">
            <summary>
            Is the <c>ISession</c> currently connected?
            </summary>
        </member>
        <member name="P:NHibernate.ISession.Transaction">
            <summary>
            Get the current Unit of Work and return the associated <c>ITransaction</c> object.
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetLoadedCollectionKey(NHibernate.Collection.IPersistentCollection)">
            <summary>
            Get the pre-flush identifier of the collection
            </summary>
            <param name="collection"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetSnapshot(NHibernate.Collection.IPersistentCollection)">
            <summary>
            Get the snapshot of the pre-flush collection state
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetArrayHolder(System.Object)">
            <summary>
            Get the <see cref="T:NHibernate.Collection.IPersistentCollection"/> object for an array
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.AddArrayHolder(NHibernate.Collection.PersistentArrayHolder)">
            <summary>
            Register a <see cref="T:NHibernate.Collection.IPersistentCollection"/> object for an array
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.InitializeCollection(NHibernate.Collection.IPersistentCollection,System.Boolean)">
            <summary>
            Initialize the collection (if not already initialized)
            </summary>
            <param name="coolection"></param>
            <param name="writing"></param>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.IsInverseCollection(NHibernate.Collection.IPersistentCollection)">
            <summary>
            Is this the "inverse" end of a bidirectional association?
            </summary>
            <param name="collection"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetLoadingCollection(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Object)">
            <summary>
            new in h2.1 and no javadoc
            </summary>
            <param name="persister"></param>
            <param name="id"></param>
            <param name="resultSetId"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.EndLoadingCollections(NHibernate.Persister.Collection.ICollectionPersister,System.Object)">
            <summary>
            new in h2.1 and no javadoc
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.AfterLoad">
            <summary>
            new in h2.1 and no javadoc
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.BeforeLoad">
            <summary>
            new in h2.1 and no javadoc
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.InitializeNonLazyCollections">
            <summary>
            new in h2.1 and no javadoc
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetCollection(System.String,System.Object,System.Object)">
            <summary>
            Gets the NHibernate collection wrapper from the ISession.
            </summary>
            <param name="role"></param>
            <param name="id"></param>
            <param name="owner"></param>
            <returns>
            A NHibernate wrapped collection.
            </returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.InternalLoad(System.Type,System.Object,System.Boolean,System.Boolean)">
            <summary>
            Load an instance without checking if it was deleted. If it does not exist and isn't nullable, throw an exception.
            This method may create a new proxy or return an existing proxy.
            </summary>
            <param name="persistentClass">The <see cref="T:System.Type"/> to load.</param>
            <param name="id">The identifier of the object in the database.</param>
            <param name="isNullable">Allow null instance</param>
            <param name="eager">When enabled, the object is eagerly fetched.</param>
            <returns>
            A proxy of the object or an instance of the object if the <c>persistentClass</c> does not have a proxy.
            </returns>
            <exception cref="T:NHibernate.ObjectNotFoundException">No object could be found with that <c>id</c>.</exception>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.ImmediateLoad(System.Type,System.Object)">
            <summary>
            Load an instance immediately. Do not return a proxy.
            </summary>
            <param name="persistentClass"></param>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.LoadByUniqueKey(System.Type,System.String,System.Object)">
            <summary>
            Load an instance by a unique key that is not the primary key.
            </summary>
            <param name="persistentClass"></param>
            <param name="uniqueKeyPropertyName"></param>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.PostInsert(System.Object)">
            <summary>
            After actually inserting a row, record the fact that the instance exists on the database
            (needed for identity-column key generation)
            </summary>
            <param name="obj"></param>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.PostDelete(System.Object)">
            <summary>
            After actually deleting a row, record the fact that the instance no longer exists on the
            database (needed for identity-column key generation)
            </summary>
            <param name="obj"></param>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.PostUpdate(System.Object,System.Object[],System.Object)">
            <summary>
            After actually updating a row, record the fact that the database state has been updated.
            </summary>
            <param name="obj">The <see cref="T:System.Object"/> instance that was saved.</param>
            <param name="updatedState">A updated snapshot of the values in the object.</param>
            <param name="nextVersion">The new version to assign to the <c>obj</c>.</param>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.Find(System.String,NHibernate.Engine.QueryParameters)">
            <summary>
            Execute a <c>Find()</c> query
            </summary>
            <param name="query"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.Find``1(System.String,NHibernate.Engine.QueryParameters)">
            <summary>
            Strongly-typed version of <see cref="M:NHibernate.Engine.ISessionImplementor.Find(System.String,NHibernate.Engine.QueryParameters)"/>
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.Enumerable(System.String,NHibernate.Engine.QueryParameters)">
            <summary>
            Execute an <c>Iterate()</c> query
            </summary>
            <param name="query"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.Enumerable``1(System.String,NHibernate.Engine.QueryParameters)">
            <summary>
            Strongly-typed version of <see cref="M:NHibernate.Engine.ISessionImplementor.Enumerable(System.String,NHibernate.Engine.QueryParameters)"/>
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.Filter(System.Object,System.String,NHibernate.Engine.QueryParameters)">
            <summary>
            Execute a filter
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.Filter``1(System.Object,System.String,NHibernate.Engine.QueryParameters)">
            <summary>
            Execute a filter (strongly-typed version).
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.EnumerableFilter(System.Object,System.String,NHibernate.Engine.QueryParameters)">
            <summary>
            Collection from a filter
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.EnumerableFilter``1(System.Object,System.String,NHibernate.Engine.QueryParameters)">
            <summary>
            Strongly-typed version of <see cref="M:NHibernate.Engine.ISessionImplementor.EnumerableFilter(System.Object,System.String,NHibernate.Engine.QueryParameters)"/>
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetEntityPersister(System.Object)">
            <summary>
            Get the <c>IEntityPersister</c> for an object
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.AddUninitializedEntity(NHibernate.Engine.EntityKey,System.Object,NHibernate.LockMode)">
            <summary>
            Add an uninitialized instance of an entity class, as a placeholder to ensure object identity.
            Must be called before <c>PostHydrate()</c>
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.PostHydrate(NHibernate.Persister.Entity.IEntityPersister,System.Object,System.Object[],System.Object,NHibernate.LockMode)">
            <summary>
            Register the "hydrated" state of an entity instance, after the first step of 2-phase loading
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.InitializeEntity(System.Object)">
            <summary>
            Perform the second step of 2-phase load (ie. fully initialize the entity instance)
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetEntity(NHibernate.Engine.EntityKey)">
            <summary>
            Get the entity instance associated with the given <c>EntityKey</c>
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.ProxyFor(NHibernate.Persister.Entity.IEntityPersister,NHibernate.Engine.EntityKey,System.Object)">
            <summary>
            Return the existing proxy associated with the given <c>EntityKey</c>, or the second
            argument (the entity associated with the key) if no proxy exists.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> to see if it should be Proxied.</param>
            <param name="key">The <see cref="T:NHibernate.Engine.EntityKey"/> that identifies the entity.</param>
            <param name="impl"></param>
            <returns>Returns a the Proxy for the class or the parameter impl.</returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.ProxyFor(System.Object)">
            <summary>
            Return the existing proxy associated with the given object. (Slower than the form above)
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.AfterTransactionBegin(NHibernate.ITransaction)">
            <summary>
            Notify the session that an NHibernate transaction has begun.
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.BeforeTransactionCompletion(NHibernate.ITransaction)">
            <summary>
            Notify the session that the transaction is about to complete
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.AfterTransactionCompletion(System.Boolean,NHibernate.ITransaction)">
            <summary>
            Notify the session that the transaction completed, so we no longer own the old locks.
            (Also we shold release cache softlocks). May be called multiple times during the transaction
            completion process.
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetEntityIdentifier(System.Object)">
            <summary>
            Return the identifier of the persistent object, or null if transient
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetEntityIdentifierIfNotUnsaved(System.Object)">
            <summary>
            Return the identifer of the persistent or transient object, or throw
            an exception if the instance is "unsaved"
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.Instantiate(System.Type,System.Object)">
            <summary>
            Instantiate the entity class, initializing with the given identifier
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.SetLockMode(System.Object,NHibernate.LockMode)">
            <summary>
            Set the lock mode of the entity to the given lock mode
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetVersion(System.Object)">
            <summary>
            Get the current version of the entity
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetLockMode(System.Object)">
            <summary>
            Get the lock mode of the entity
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.List(NHibernate.Engine.Query.NativeSQLQuerySpecification,NHibernate.Engine.QueryParameters)">
            <summary>
            Execute an SQL Query
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.List``1(NHibernate.Engine.Query.NativeSQLQuerySpecification,NHibernate.Engine.QueryParameters)">
            <summary>
            Strongly-typed version of <see cref="M:NHibernate.Engine.ISessionImplementor.List(NHibernate.Engine.Query.NativeSQLQuerySpecification,NHibernate.Engine.QueryParameters)"/>
            </summary>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.AddNonExist(NHibernate.Engine.EntityKey)">
            <summary>
            new in 2.1 no javadoc
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.Copy(System.Object,System.Collections.IDictionary)">
            <summary>
            new in 2.1 no javadoc
            </summary>
            <param name="obj"></param>
            <param name="copiedAlready"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetCollectionOwner(System.Object,NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            new in 2.1 no javadoc
            </summary>
            <param name="key"></param>
            <param name="collectionPersister"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetEntry(System.Object)">
            <summary>
            Retrieve the <see cref="T:NHibernate.Impl.EntityEntry"/> representation of the given entity.
            </summary>
            <param name="entity">The entity for which to locate the EntityEntry.</param>
            <returns>The EntityEntry for the given entity.</returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetFilterParameterValue(System.String)">
            <summary>
            Retreive the currently set value for a filter parameter.
            </summary>
            <param name="filterParameterName">The filter parameter name in the format 
            {FILTER_NAME.PARAMETER_NAME}.</param>
            <returns>The filter parameter value.</returns>
        </member>
        <member name="M:NHibernate.Engine.ISessionImplementor.GetFilterParameterType(System.String)">
            <summary>
            Retreive the type for a given filter parrameter.
            </summary>
            <param name="filterParameterName">The filter parameter name in the format 
            {FILTER_NAME.PARAMETER_NAME}.</param>
            <returns>The filter parameter type.</returns>
        </member>
        <member name="P:NHibernate.Engine.ISessionImplementor.Timestamp">
            <summary>
            System time before the start of the transaction
            </summary>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Engine.ISessionImplementor.Factory">
            <summary>
            Get the creating SessionFactoryImplementor
            </summary>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Engine.ISessionImplementor.Batcher">
            <summary>
            Get the prepared statement <c>Batcher</c> for this session
            </summary>
        </member>
        <member name="P:NHibernate.Engine.ISessionImplementor.EnabledFilters">
            <summary>
            Return the currently enabled filters.  The filter map is keyed by filter
            name, with values corresponding to the {@link org.hibernate.impl.FilterImpl}
            instance.
            </summary>
            <returns>The currently enabled filters.</returns>
        </member>
        <member name="M:NHibernate.Engine.JoinHelper.GetAliasedLHSColumnNames(NHibernate.Type.IAssociationType,System.String,System.Int32,NHibernate.Persister.Entity.IOuterJoinLoadable,NHibernate.Engine.IMapping)">
            <summary>
            Get the aliased columns of the owning entity which are to 
            be used in the join
            </summary>
        </member>
        <member name="M:NHibernate.Engine.JoinHelper.GetLHSColumnNames(NHibernate.Type.IAssociationType,System.Int32,NHibernate.Persister.Entity.IOuterJoinLoadable,NHibernate.Engine.IMapping)">
            <summary>
            Get the columns of the owning entity which are to 
            be used in the join
            </summary>
        </member>
        <member name="M:NHibernate.Engine.JoinHelper.GetAliasedLHSColumnNames(NHibernate.Type.IAssociationType,System.String,System.Int32,System.Int32,NHibernate.Persister.Entity.IOuterJoinLoadable,NHibernate.Engine.IMapping)">
            <summary>
            Get the aliased columns of the owning entity which are to 
            be used in the join
            </summary>
        </member>
        <member name="M:NHibernate.Engine.JoinHelper.GetLHSColumnNames(NHibernate.Type.IAssociationType,System.Int32,System.Int32,NHibernate.Persister.Entity.IOuterJoinLoadable,NHibernate.Engine.IMapping)">
            <summary>
            Get the columns of the owning entity which are to 
            be used in the join
            </summary>
        </member>
        <member name="M:NHibernate.Engine.JoinHelper.GetRHSColumnNames(NHibernate.Type.IAssociationType,NHibernate.Engine.ISessionFactoryImplementor)">
            <summary>
            Get the columns of the associated table which are to 
            be used in the join
            </summary>
        </member>
        <member name="T:NHibernate.Engine.QueryParameters">
            <summary>
            Container for data that is used during the NHibernate query/load process. 
            </summary>
        </member>
        <member name="M:NHibernate.Engine.QueryParameters.#ctor(NHibernate.Type.IType[],System.Object[])">
            <summary>
            Initializes an instance of the <see cref="T:NHibernate.Engine.QueryParameters"/> class.
            </summary>
            <param name="positionalParameterTypes">An array of <see cref="T:NHibernate.Type.IType"/> objects for the parameters.</param>
            <param name="positionalParameterValues">An array of <see cref="T:System.Object"/> objects for the parameters.</param>
        </member>
        <member name="M:NHibernate.Engine.QueryParameters.#ctor(NHibernate.Type.IType[],System.Object[],System.Collections.IDictionary,System.Collections.IDictionary,NHibernate.Engine.RowSelection,System.Boolean,System.String,System.Boolean,System.Object[],System.Object,System.Type,System.Object,NHibernate.Transform.IResultTransformer)">
            <summary>
            Initializes an instance of the <see cref="T:NHibernate.Engine.QueryParameters"/> class.
            </summary>
            <param name="positionalParameterTypes">An array of <see cref="T:NHibernate.Type.IType"/> objects for the parameters.</param>
            <param name="positionalParameterValues">An array of <see cref="T:System.Object"/> objects for the parameters.</param>
            <param name="namedParameters">An <see cref="T:System.Collections.IDictionary"/> that is <c>parameter name</c> keyed to a <see cref="T:NHibernate.Engine.TypedValue"/> value.</param>
            <param name="lockModes">An <see cref="T:System.Collections.IDictionary"/> that is <c>hql alias</c> keyed to a LockMode value.</param>
            <param name="rowSelection"></param>
            <param name="cacheable"></param>
            <param name="cacheRegion"></param>
            <param name="forceCacheRefresh"></param>
            <param name="collectionKeys"></param>
            <param name="optionalObject"></param>
            <param name="optionalEntityName"></param>
            <param name="optionalId"></param>
            <param name="resultTransformer"></param>
        </member>
        <member name="M:NHibernate.Engine.QueryParameters.LogParameters(NHibernate.Engine.ISessionFactoryImplementor)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Engine.QueryParameters.ValidateParameters">
            <summary>
            Ensure the Types and Values are the same length.
            </summary>
            <exception cref="T:NHibernate.QueryException">
            If the Lengths of <see cref="P:NHibernate.Engine.QueryParameters.PositionalParameterTypes"/> and 
            <see cref="P:NHibernate.Engine.QueryParameters.PositionalParameterValues"/> are not equal.
            </exception>
        </member>
        <member name="P:NHibernate.Engine.QueryParameters.HasRowSelection">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Engine.QueryParameters.NamedParameters">
            <summary>
            Gets or sets an <see cref="T:System.Collections.IDictionary"/> that contains the named 
            parameter as the key and the <see cref="T:NHibernate.Engine.TypedValue"/> as the value.
            </summary>
            <value>An <see cref="T:System.Collections.IDictionary"/> of named parameters.</value>
        </member>
        <member name="P:NHibernate.Engine.QueryParameters.PositionalParameterTypes">
            <summary>
            Gets or sets an array of <see cref="T:NHibernate.Type.IType"/> objects that is stored at the index 
            of the Parameter.
            </summary>
        </member>
        <member name="P:NHibernate.Engine.QueryParameters.PositionalParameterValues">
            <summary>
            Gets or sets an array of <see cref="T:System.Object"/> objects that is stored at the index 
            of the Parameter.
            </summary>
        </member>
        <member name="P:NHibernate.Engine.QueryParameters.RowSelection">
            <summary>
            Gets or sets the <see cref="P:NHibernate.Engine.QueryParameters.RowSelection"/> for the Query.
            </summary>
        </member>
        <member name="P:NHibernate.Engine.QueryParameters.LockModes">
            <summary>
            Gets or sets an <see cref="T:System.Collections.IDictionary"/> that contains the alias name of the
            object from hql as the key and the <see cref="T:NHibernate.LockMode"/> as the value.
            </summary>
            <value>An <see cref="T:System.Collections.IDictionary"/> of lock modes.</value>
        </member>
        <member name="T:NHibernate.Engine.RowSelection">
            <summary>
            Information to determine how to run an IDbCommand and what
            records to return from the IDataReader.
            </summary>
        </member>
        <member name="F:NHibernate.Engine.RowSelection.NoValue">
            <summary>
            Indicates that the no value has been set on the Property.
            </summary>
        </member>
        <member name="P:NHibernate.Engine.RowSelection.FirstRow">
            <summary>
            Gets or Sets the Index of the First Row to Select
            </summary>
            <value>The Index of the First Rows to Select</value>
            <remarks>Defaults to 0 unless specifically set.</remarks>
        </member>
        <member name="P:NHibernate.Engine.RowSelection.MaxRows">
            <summary>
            Gets or Sets the Maximum Number of Rows to Select
            </summary>
            <value>The Maximum Number of Rows to Select</value>
            <remarks>Defaults to NoValue unless specifically set.</remarks>
        </member>
        <member name="P:NHibernate.Engine.RowSelection.Timeout">
            <summary>
            Gets or Sets the Timeout of the Query
            </summary>
            <value>The Query Timeout</value>
            <remarks>Defaults to NoValue unless specifically set.</remarks>
        </member>
        <member name="T:NHibernate.Engine.TypedValue">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Engine.TypedValue.#ctor(NHibernate.Type.IType,System.Object)">
            <summary>
            
            </summary>
            <param name="type"></param>
            <param name="value"></param>
        </member>
        <member name="P:NHibernate.Engine.TypedValue.Value">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Engine.TypedValue.Type">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Engine.UnsavedValueFactory.GetUnsavedIdentifierValue(System.String,NHibernate.Property.IGetter,NHibernate.Type.IType,System.Reflection.ConstructorInfo)">
            <summary>
            Return an IdentifierValue for the specified unsaved-value. If none is specified,
            guess the unsaved value by instantiating a test instance of the class and
            reading it's id property, or if that is not possible, using the java default
            value for the type
            </summary>
        </member>
        <member name="T:NHibernate.Engine.Versioning">
            <summary>
            Utility methods for managing versions and timestamps
            </summary>
        </member>
        <member name="M:NHibernate.Engine.Versioning.Increment(System.Object,NHibernate.Type.IVersionType,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Increment the given version number
            </summary>
            <param name="version">The value of the current version.</param>
            <param name="versionType">The <see cref="T:NHibernate.Type.IVersionType"/> of the versioned property.</param>
            <param name="session">The current <see cref="T:NHibernate.ISession"/>.</param>
            <returns>Returns the next value for the version.</returns>
        </member>
        <member name="M:NHibernate.Engine.Versioning.Seed(NHibernate.Type.IVersionType,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Create an initial version number
            </summary>
            <param name="versionType">The <see cref="T:NHibernate.Type.IVersionType"/> of the versioned property.</param>
            <param name="session">The current <see cref="T:NHibernate.ISession"/>.</param>
            <returns>A seed value to initialize the versioned property with.</returns>
        </member>
        <member name="M:NHibernate.Engine.Versioning.SeedVersion(System.Object[],System.Int32,NHibernate.Type.IVersionType,System.Boolean,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Seed the given instance state snapshot with an initial version number
            </summary>
            <param name="fields">An array of objects that contains a snapshot of a persistent object.</param>
            <param name="versionProperty">The index of the version property in the <c>fields</c> parameter.</param>
            <param name="versionType">The <see cref="T:NHibernate.Type.IVersionType"/> of the versioned property.</param>
            <param name="force">Force the version to initialize</param>
            <param name="session">The current session, if any.</param>
            <returns><c>true</c> if the version property needs to be seeded with an initial value.</returns>
        </member>
        <member name="M:NHibernate.Engine.Versioning.GetVersion(System.Object[],System.Int32,NHibernate.Type.IVersionType)">
            <summary>
            Gets the value of the version.
            </summary>
            <param name="fields">An array of objects that contains a snapshot of a persistent object.</param>
            <param name="versionProperty">The index of the version property in the <c>fields</c> parameter.</param>
            <param name="versionType">The <see cref="T:NHibernate.Type.IVersionType"/> of the versioned property.</param>
            <returns>The value of the version.</returns>
        </member>
        <member name="M:NHibernate.Engine.Versioning.SetVersion(System.Object[],System.Object,System.Int32,NHibernate.Type.IVersionType)">
            <summary>
            Sets the value of the version.
            </summary>
            <param name="fields">An array of objects that contains a snapshot of a persistent object.</param>
            <param name="version">The value the version should be set to in the <c>fields</c> parameter.</param>
            <param name="versionProperty">The index of the version property in the <c>fields</c> parameter.</param>
            <param name="versionType">The <see cref="T:NHibernate.Type.IVersionType"/> of the versioned property.</param>
        </member>
        <member name="M:NHibernate.Engine.Versioning.SetVersion(System.Object[],System.Object,NHibernate.Persister.Entity.IEntityPersister)">
            <summary>
            Set the version number of the given instance state snapshot
            </summary>
            <param name="fields">An array of objects that contains a snapshot of a persistent object.</param>
            <param name="version">The value the version should be set to in the <c>fields</c> parameter.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> that is responsible for persisting the values of the <c>fields</c> parameter.</param>
        </member>
        <member name="M:NHibernate.Engine.Versioning.GetVersion(System.Object[],NHibernate.Persister.Entity.IEntityPersister)">
            <summary>
            Get the version number of the given instance state snapshot
            </summary>
            <param name="fields">An array of objects that contains a snapshot of a persistent object.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> that is responsible for persisting the values of the <c>fields</c> parameter.</param>
            <returns>
            The value of the version contained in the <c>fields</c> parameter or null if the
            Entity is not versioned.
            </returns>
        </member>
        <member name="M:NHibernate.Engine.Versioning.IsVersionIncrementRequired(System.Int32[],System.Boolean,System.Boolean[])">
            <summary>
            Do we need to increment the version number, given the dirty properties?
            </summary>
        </member>
        <member name="M:NHibernate.Exceptions.ADOExceptionHelper.Convert(System.Exception,System.String)">
            <summary>
            Converts the given SQLException into NHibernate's ADOException hierarchy, as well as performing
            appropriate logging.
            </summary>
            <!--<param name="converter">The converter to use.</param>-->
            <param name="sqlException">The exception to convert.</param>
            <param name="message">An optional error message.</param>
            <returns>The converted ADOException.</returns>
        </member>
        <member name="T:NHibernate.Expression.AbstractCriterion">
            <summary>
            Base class for <see cref="T:NHibernate.Expression.ICriterion"/> implementations.
            </summary>
        </member>
        <member name="T:NHibernate.Expression.ICriterion">
            <summary>
            An object-oriented representation of a query criterion that may be used as a constraint
            in a <see cref="T:NHibernate.ICriteria"/> query.
            </summary>
            <remarks>
            Built-in criterion types are provided by the <c>Expression</c> factory class.
            This interface might be implemented by application classes but, more commonly, application 
            criterion types would extend <c>AbstractCriterion</c>.
            </remarks>
        </member>
        <member name="M:NHibernate.Expression.ICriterion.ToSqlString(NHibernate.ICriteria,NHibernate.Expression.ICriteriaQuery,System.Collections.IDictionary)">
            <summary>
            Render a SqlString fragment for the expression.
            </summary>
            <returns>A SqlString that contains a valid Sql fragment.</returns>
        </member>
        <member name="M:NHibernate.Expression.ICriterion.GetTypedValues(NHibernate.ICriteria,NHibernate.Expression.ICriteriaQuery)">
            <summary>
            Return typed values for all parameters in the rendered SQL fragment
            </summary>
            <returns>An array of TypedValues for the Expression.</returns>
        </member>
        <member name="M:NHibernate.Expression.AbstractCriterion.ToString">
            <summary>
            Gets a string representation of the <see cref="T:NHibernate.Expression.AbstractCriterion"/>.  
            </summary>
            <returns>
            A String that shows the contents of the <see cref="T:NHibernate.Expression.AbstractCriterion"/>.
            </returns>
            <remarks>
            This is not a well formed Sql fragment.  It is useful for logging what the <see cref="T:NHibernate.Expression.AbstractCriterion"/>
            looks like.
            </remarks>
        </member>
        <member name="M:NHibernate.Expression.AbstractCriterion.ToSqlString(NHibernate.ICriteria,NHibernate.Expression.ICriteriaQuery,System.Collections.IDictionary)">
            <summary>
            Render a SqlString for the expression.
            </summary>
            <returns>A SqlString that contains a valid Sql fragment.</returns>
        </member>
        <member name="M:NHibernate.Expression.AbstractCriterion.GetTypedValues(NHibernate.ICriteria,NHibernate.Expression.ICriteriaQuery)">
            <summary>
            Return typed values for all parameters in the rendered SQL fragment
            </summary>
            <returns>An array of TypedValues for the Expression.</returns>
        </member>
        <member name="M:NHibernate.Expression.AbstractCriterion.op_False(NHibernate.Expression.AbstractCriterion)">
            <summary>
            See here for details:
            http://steve.emxsoftware.com/NET/Overloading+the++and++operators
            </summary>
        </member>
        <member name="M:NHibernate.Expression.AbstractCriterion.op_True(NHibernate.Expression.AbstractCriterion)">
            <summary>
            See here for details:
            http://steve.emxsoftware.com/NET/Overloading+the++and++operators
            </summary>
        </member>
        <member name="M:NHibernate.Expression.AbstractEmptinessExpression.op_False(NHibernate.Expression.AbstractEmptinessExpression)">
            <summary>
            See here for details:
            http://steve.emxsoftware.com/NET/Overloading+the++and++operators
            </summary>
        </member>
        <member name="M:NHibernate.Expression.AbstractEmptinessExpression.op_True(NHibernate.Expression.AbstractEmptinessExpression)">
            <summary>
            See here for details:
            http://steve.emxsoftware.com/NET/Overloading+the++and++operators
            </summary>
        </member>
        <member name="T:NHibernate.Expression.AggregateProjection">
            <summary>
            An Aggregation
            </summary>
        </member>
        <member name="T:NHibernate.Expression.SimpleProjection">
            <summary>
            A single-column projection that may be aliased
            </summary>
        </member>
        <member name="M:NHibernate.Expression.IProjection.ToSqlString(NHibernate.ICriteria,System.Int32,NHibernate.Expression.ICriteriaQuery)">
            <summary>
            Render the SQL Fragment.
            </summary>
            <param name="criteria"></param>
            <param name="position"></param>
            <param name="cirteriaQuery"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.IProjection.ToGroupSqlString(NHibernate.ICriteria,NHibernate.Expression.ICriteriaQuery)">
            <summary>
            Render the SQL Fragment to be used in the Group By Clause.
            </summary>
            <param name="criteria"></param>
            <param name="criteriaQuery"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.IProjection.GetTypes(NHibernate.ICriteria,NHibernate.Expression.ICriteriaQuery)">
            <summary>
            Return types for a particular user-visible alias
            </summary>
            <param name="criteria"></param>
            <param name="criteriaQuery"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.IProjection.GetTypes(System.String,NHibernate.ICriteria,NHibernate.Expression.ICriteriaQuery)">
            <summary>
            
            </summary>
            <param name="alias"></param>
            <param name="criteria"></param>
            <param name="criteriaQuery"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.IProjection.GetColumnAliases(System.Int32)">
            <summary>
            Get the SQL select clause column aliases for a particular user-visible alias
            </summary>
            <param name="loc"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.IProjection.GetColumnAliases(System.String,System.Int32)">
            <summary>
            Get the SQL select clause column aliases for a particular user-visible alias
            </summary>
            <param name="alias"></param>
            <param name="loc"></param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Expression.IProjection.Aliases">
            <summary>
            Get the user-visible aliases for this projection (ie. the ones that will be passed to the ResultTransformer)
            </summary>
        </member>
        <member name="P:NHibernate.Expression.IProjection.IsGrouped">
            <summary>
            Does this projection specify grouping attributes?
            </summary>
        </member>
        <member name="T:NHibernate.Expression.AndExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.LogicalExpression"/> that combines two <see cref="T:NHibernate.Expression.ICriterion"/>s 
            with an <c>and</c> between them.
            </summary>
        </member>
        <member name="T:NHibernate.Expression.LogicalExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that combines two <see cref="T:NHibernate.Expression.ICriterion"/>s 
            with a operator (either "<c>and</c>" or "<c>or</c>") between them.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.LogicalExpression.#ctor(NHibernate.Expression.ICriterion,NHibernate.Expression.ICriterion)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.LogicalExpression"/> class that
            combines two other <see cref="T:NHibernate.Expression.ICriterion"/>s.
            </summary>
            <param name="lhs">The <see cref="T:NHibernate.Expression.ICriterion"/> to use in the Left Hand Side.</param>
            <param name="rhs">The <see cref="T:NHibernate.Expression.ICriterion"/> to use in the Right Hand Side.</param>
        </member>
        <member name="M:NHibernate.Expression.LogicalExpression.GetTypedValues(NHibernate.ICriteria,NHibernate.Expression.ICriteriaQuery)">
            <summary>
            Combines the <see cref="T:NHibernate.Engine.TypedValue"/> for the Left Hand Side and the 
            Right Hand Side of the Expression into one array.
            </summary>
            <returns>An arry of <see cref="T:NHibernate.Engine.TypedValue"/>s.</returns>
        </member>
        <member name="M:NHibernate.Expression.LogicalExpression.ToSqlString(NHibernate.ICriteria,NHibernate.Expression.ICriteriaQuery,System.Collections.IDictionary)">
            <summary>
            Converts the LogicalExpression to a <see cref="T:NHibernate.SqlCommand.SqlString"/>.
            </summary>
            <returns>A well formed SqlString for the Where clause.</returns>
            <remarks>The SqlString will be enclosed by <c>(</c> and <c>)</c>.</remarks>
        </member>
        <member name="M:NHibernate.Expression.LogicalExpression.ToString">
            <summary>
            Gets a string representation of the LogicalExpression.  
            </summary>
            <returns>
            The String contains the LeftHandSide.ToString() and the RightHandSide.ToString()
            joined by the Op.
            </returns>
            <remarks>
            This is not a well formed Sql fragment.  It is useful for logging what Expressions
            are being combined.
            </remarks>
        </member>
        <member name="P:NHibernate.Expression.LogicalExpression.LeftHandSide">
            <summary>
            Gets the <see cref="T:NHibernate.Expression.ICriterion"/> that will be on the Left Hand Side of the Op.
            </summary>
        </member>
        <member name="P:NHibernate.Expression.LogicalExpression.RightHandSide">
            <summary>
            Gets the <see cref="T:NHibernate.Expression.ICriterion"/> that will be on the Right Hand Side of the Op.
            </summary>
        </member>
        <member name="P:NHibernate.Expression.LogicalExpression.Op">
            <summary>
            Get the Sql operator to put between the two <see cref="T:NHibernate.Expression.Expression"/>s.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.AndExpression.#ctor(NHibernate.Expression.ICriterion,NHibernate.Expression.ICriterion)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Expression.AndExpression"/> class
            that combines two <see cref="T:NHibernate.Expression.ICriterion"/>.
            </summary>
            <param name="lhs">The <see cref="T:NHibernate.Expression.ICriterion"/> to use as the left hand side.</param>
            <param name="rhs">The <see cref="T:NHibernate.Expression.ICriterion"/> to use as the right hand side.</param>
        </member>
        <member name="P:NHibernate.Expression.AndExpression.Op">
            <summary>
            Get the Sql operator to put between the two <see cref="T:NHibernate.Expression.ICriterion"/>s.
            </summary>
            <value>The string "<c>and</c>"</value>
        </member>
        <member name="T:NHibernate.Expression.BetweenExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents a "between" constraint.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.BetweenExpression.#ctor(System.String,System.Object,System.Object)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.BetweenExpression"/> class for
            the named Property.
            </summary>
            <param name="propertyName">The name of the Property of the Class.</param>
            <param name="lo">The low value for the BetweenExpression.</param>
            <param name="hi">The high value for the BetweenExpression.</param>
        </member>
        <member name="M:NHibernate.Expression.BetweenExpression.ToString">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Expression.Conjunction">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that Junctions together multiple 
            <see cref="T:NHibernate.Expression.ICriterion"/>s with an <c>and</c>
            </summary>
        </member>
        <member name="T:NHibernate.Expression.Junction">
            <summary>
            A sequence of logical <see cref="T:NHibernate.Expression.ICriterion"/>s combined by some associative
            logical operator.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Junction.Add(NHibernate.Expression.ICriterion)">
            <summary>
            Adds an <see cref="T:NHibernate.Expression.ICriterion"/> to the list of <see cref="T:NHibernate.Expression.ICriterion"/>s
            to junction together.
            </summary>
            <param name="criterion">The <see cref="T:NHibernate.Expression.ICriterion"/> to add.</param>
            <returns>
            This <see cref="T:NHibernate.Expression.Junction"/> instance.
            </returns>
        </member>
        <member name="P:NHibernate.Expression.Junction.Op">
            <summary>
            Get the Sql operator to put between multiple <see cref="T:NHibernate.Expression.ICriterion"/>s.
            </summary>
        </member>
        <member name="P:NHibernate.Expression.Junction.EmptyExpression">
            <summary>
            The <see cref="T:NHibernate.SqlCommand.SqlString"/> corresponding to an instance with no added
            subcriteria.
            </summary>
        </member>
        <member name="P:NHibernate.Expression.Conjunction.Op">
            <summary>
            Get the Sql operator to put between multiple <see cref="T:NHibernate.Expression.ICriterion"/>s.
            </summary>
            <value>The string "<c> and </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.CountProjection">
            <summary>
            A Count
            </summary>
        </member>
        <member name="T:NHibernate.Expression.DetachedCriteria">
            <summary>
            Some applications need to create criteria queries in "detached
            mode", where the Hibernate session is not available. This class
            may be instantiated anywhere, and then a <c>ICriteria</c>
            may be obtained by passing a session to 
            <c>GetExecutableCriteria()</c>. All methods have the
            same semantics and behavior as the corresponding methods of the
            <c>ICriteria</c> interface.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.DetachedCriteria.GetExecutableCriteria(NHibernate.ISession)">
            <summary>
            Get an executable instance of <c>Criteria</c>,
            to actually run the query.</summary>
        </member>
        <member name="T:NHibernate.Expression.Disjunction">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that Junctions together multiple 
            <see cref="T:NHibernate.Expression.ICriterion"/>s with an <c>or</c>
            </summary>
        </member>
        <member name="P:NHibernate.Expression.Disjunction.Op">
            <summary>
            Get the Sql operator to put between multiple <see cref="T:NHibernate.Expression.ICriterion"/>s.
            </summary>
            <value>The string "<c> or </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.EqExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "equal" constraint.
            </summary>
        </member>
        <member name="T:NHibernate.Expression.SimpleExpression">
            <summary>
            The base class for an <see cref="T:NHibernate.Expression.ICriterion"/> that compares a single Property
            to a value.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.SimpleExpression.#ctor(System.String,System.Object)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.SimpleExpression"/> class for a named
            Property and its value.
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
        </member>
        <member name="M:NHibernate.Expression.SimpleExpression.ToSqlString(NHibernate.ICriteria,NHibernate.Expression.ICriteriaQuery,System.Collections.IDictionary)">
            <summary>
            Converts the SimpleExpression to a <see cref="T:NHibernate.SqlCommand.SqlString"/>.
            </summary>
            <returns>A SqlString that contains a valid Sql fragment.</returns>
        </member>
        <member name="M:NHibernate.Expression.SimpleExpression.ToString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Expression.SimpleExpression.PropertyName">
            <summary>
            Gets the named Property for the Expression.
            </summary>
            <value>A string that is the name of the Property.</value>
        </member>
        <member name="P:NHibernate.Expression.SimpleExpression.Value">
            <summary>
            Gets the Value for the Expression.
            </summary>
            <value>An object that is the value for the Expression.</value>
        </member>
        <member name="P:NHibernate.Expression.SimpleExpression.Op">
            <summary>
            Get the Sql operator to use for the specific 
            subclass of <see cref="T:NHibernate.Expression.SimpleExpression"/>.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.EqExpression.#ctor(System.String,System.Object,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.EqExpression"/> class for a named
            Property and its value.
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
            <param name="ignoreCase">Use case-insensitive comparison</param>
        </member>
        <member name="M:NHibernate.Expression.EqExpression.#ctor(System.String,System.Object)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.EqExpression"/> class for a named
            Property and its value.
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
        </member>
        <member name="P:NHibernate.Expression.EqExpression.Op">
            <summary>
            Get the Sql operator to use for the <see cref="T:NHibernate.Expression.EqExpression"/>.
            </summary>
            <value>The string "<c> = </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.EqPropertyExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "equal" constraint 
            between two properties.
            </summary>
        </member>
        <member name="T:NHibernate.Expression.PropertyExpression">
            <summary>
            Superclass for an <see cref="T:NHibernate.Expression.ICriterion"/> that represents a
            constraint between two properties (with SQL binary operators).
            </summary>
        </member>
        <member name="M:NHibernate.Expression.PropertyExpression.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.PropertyExpression"/> class 
            that compares two mapped properties.
            </summary>
            <param name="lhsPropertyName">The name of the Property to use as the left hand side.</param>
            <param name="rhsPropertyName">The name of the Property to use as the right hand side.</param>
        </member>
        <member name="M:NHibernate.Expression.PropertyExpression.ToString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Expression.PropertyExpression.Op">
            <summary>
            Get the Sql operator to use for the property expression.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.EqPropertyExpression.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Expression.EqPropertyExpression"/> class
            that compares two mapped properties using an "equal" constraint.
            </summary>
            <param name="lhsPropertyName">The name of the Property to use as the left hand side.</param>
            <param name="rhsPropertyName">The name of the Property to use as the right hand side.</param>
        </member>
        <member name="P:NHibernate.Expression.EqPropertyExpression.Op">
            <summary>
            Get the Sql operator to use for the <see cref="T:NHibernate.Expression.EqPropertyExpression"/>.
            </summary>
            <value>The string "<c> = </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.Example">
            <summary>
            Support for <c>Query By Example</c>.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Example.SetPropertySelector(NHibernate.Expression.Example.IPropertySelector)">
            <summary>
            Set the <see cref="T:NHibernate.Expression.Example.IPropertySelector"/> for this <see cref="T:NHibernate.Expression.Example"/>.
            </summary>
            <param name="selector">The <see cref="T:NHibernate.Expression.Example.IPropertySelector"/> to determine which properties to include.</param>
            <returns>This <see cref="T:NHibernate.Expression.Example"/> instance.</returns>
            <remarks>
            This should be used when a custom <see cref="T:NHibernate.Expression.Example.IPropertySelector"/> has
            been implemented.  Otherwise use the methods <see cref="M:NHibernate.Expression.Example.ExcludeNulls"/> 
            or <see cref="M:NHibernate.Expression.Example.ExcludeNone"/> to set the <see cref="T:NHibernate.Expression.Example.IPropertySelector"/>
            to the <see cref="T:NHibernate.Expression.Example.IPropertySelector"/>s built into NHibernate.
            </remarks>
        </member>
        <member name="M:NHibernate.Expression.Example.ExcludeZeroes">
            <summary>
            Set the <see cref="T:NHibernate.Expression.Example.IPropertySelector"/> for this <see cref="T:NHibernate.Expression.Example"/>
            to exclude zero-valued properties.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Example.ExcludeNone">
            <summary>
            Set the <see cref="T:NHibernate.Expression.Example.IPropertySelector"/> for this <see cref="T:NHibernate.Expression.Example"/>
            to exclude no properties.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Example.EnableLike(NHibernate.Expression.MatchMode)">
            <summary>
            Use the "like" operator for all string-valued properties with
            the specified <see cref="T:NHibernate.Expression.MatchMode"/>.
            </summary>
            <param name="matchMode">
            The <see cref="T:NHibernate.Expression.MatchMode"/> to convert the string to the pattern
            for the <c>like</c> comparison.
            </param>
        </member>
        <member name="M:NHibernate.Expression.Example.EnableLike">
            <summary>
            Use the "like" operator for all string-valued properties.
            </summary>
            <remarks>
            The default <see cref="T:NHibernate.Expression.MatchMode"/> is <see cref="F:NHibernate.Expression.MatchMode.Exact">MatchMode.Exact</see>.
            </remarks>
        </member>
        <member name="M:NHibernate.Expression.Example.ExcludeProperty(System.String)">
            <summary>
            Exclude a particular named property
            </summary>
            <param name="name">The name of the property to exclude.</param>
        </member>
        <member name="M:NHibernate.Expression.Example.Create(System.Object)">
            <summary>
            Create a new instance, which includes all non-null properties 
            by default
            </summary>
            <param name="entity"></param>
            <returns>A new instance of <see cref="T:NHibernate.Expression.Example"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Example.#ctor(System.Object,NHibernate.Expression.Example.IPropertySelector)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.Example"/> class for a particular
            entity.
            </summary>
            <param name="entity">The <see cref="T:System.Object"/> that the Example is being built from.</param>
            <param name="selector">The <see cref="T:NHibernate.Expression.Example.IPropertySelector"/> the Example should use.</param>
        </member>
        <member name="M:NHibernate.Expression.Example.IsPropertyIncluded(System.Object,System.String,NHibernate.Type.IType)">
            <summary>
            Determines if the property should be included in the Query.
            </summary>
            <param name="value">The value of the property.</param>
            <param name="name">The name of the property.</param>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> of the property.</param>
            <returns>
            <c>true</c> if the Property should be included, <c>false</c> if
            the Property should not be a part of the Query.
            </returns>
        </member>
        <member name="M:NHibernate.Expression.Example.AddPropertyTypedValue(System.Object,NHibernate.Type.IType,System.Collections.IList)">
            <summary>
            Adds a <see cref="T:NHibernate.Engine.TypedValue"/> based on the <c>value</c> 
            and <c>type</c> parameters to the <see cref="T:System.Collections.IList"/> in the
            <c>list</c> parameter.
            </summary>
            <param name="value">The value of the Property.</param>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> of the Property.</param>
            <param name="list">The <see cref="T:System.Collections.IList"/> to add the <see cref="T:NHibernate.Engine.TypedValue"/> to.</param>
            <remarks>
            This method will add <see cref="T:NHibernate.Engine.TypedValue"/> objects to the <c>list</c> parameter.
            </remarks>
        </member>
        <member name="T:NHibernate.Expression.Example.IPropertySelector">
            <summary>
            A strategy for choosing property values for inclusion in the query criteria
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Example.IPropertySelector.Include(System.Object,System.String,NHibernate.Type.IType)">
            <summary>
            Determine if the Property should be included.
            </summary>
            <param name="propertyValue">The value of the property that is being checked for inclusion.</param>
            <param name="propertyName">The name of the property that is being checked for inclusion.</param>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> of the property.</param>
            <returns>
            <c>true</c> if the Property should be included in the Query, 
            <c>false</c> otherwise.
            </returns>
        </member>
        <member name="T:NHibernate.Expression.Example.AllPropertySelector">
            <summary>
            Implementation of <see cref="T:NHibernate.Expression.Example.IPropertySelector"/> that includes all
            properties regardless of value.
            </summary>
        </member>
        <member name="T:NHibernate.Expression.Example.NotNullOrEmptyStringPropertySelector">
            <summary>
            Implementation of <see cref="T:NHibernate.Expression.Example.IPropertySelector"/> that includes the
            properties that are not <c>null</c> and do not have an <see cref="F:System.String.Empty"/>
            returned by <c>propertyValue.ToString()</c>.
            </summary>
            <remarks>
            This selector is not present in H2.1. It may be useful if nullable types
            are used for some properties.
            </remarks>
        </member>
        <member name="T:NHibernate.Expression.Expression">
            <summary>
            The <c>Expression</c> namespace may be used by applications as a framework for building 
            new kinds of <see cref="T:NHibernate.Expression.ICriterion"/>. However, it is intended that most applications will 
            simply use the built-in criterion types via the static factory methods of this class.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Expression.IdEq(System.Object)">
            <summary>
            Apply an "equal" constraint to the identifier property
            </summary>
            <param name="value"></param>
            <returns>ICriterion</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Eq(System.String,System.Object)">
            <summary>
            Apply an "equal" constraint to the named property
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
            <returns>An <see cref="T:NHibernate.Expression.EqExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Like(System.String,System.Object)">
            <summary>
            Apply a "like" constraint to the named property
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
            <returns>A <see cref="T:NHibernate.Expression.LikeExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.InsensitiveLike(System.String,System.Object)">
            <summary>
            A case-insensitive "like", similar to Postgres "ilike" operator
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
            <returns>An <see cref="T:NHibernate.Expression.InsensitiveLikeExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Gt(System.String,System.Object)">
            <summary>
            Apply a "greater than" constraint to the named property
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
            <returns>A <see cref="T:NHibernate.Expression.GtExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Lt(System.String,System.Object)">
            <summary>
            Apply a "less than" constraint to the named property
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
            <returns>A <see cref="T:NHibernate.Expression.LtExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Le(System.String,System.Object)">
            <summary>
            Apply a "less than or equal" constraint to the named property
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
            <returns>A <see cref="T:NHibernate.Expression.LeExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Ge(System.String,System.Object)">
            <summary>
            Apply a "greater than or equal" constraint to the named property
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
            <returns>A <see cref="T:NHibernate.Expression.GtExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Between(System.String,System.Object,System.Object)">
            <summary>
            Apply a "between" constraint to the named property
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="lo">The low value for the Property.</param>
            <param name="hi">The high value for the Property.</param>
            <returns>A <see cref="T:NHibernate.Expression.BetweenExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.In(System.String,System.Object[])">
            <summary>
            Apply an "in" constraint to the named property 
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="values">An array of values.</param>
            <returns>An <see cref="T:NHibernate.Expression.InExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.In(System.String,System.Collections.ICollection)">
            <summary>
            Apply an "in" constraint to the named property
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="values">An ICollection of values.</param>
            <returns>An <see cref="T:NHibernate.Expression.InExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.IsNull(System.String)">
            <summary>
            Apply an "is null" constraint to the named property
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <returns>A <see cref="T:NHibernate.Expression.NullExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.EqProperty(System.String,System.String)">
            <summary>
            Apply an "equal" constraint to two properties
            </summary>
            <param name="propertyName">The lhs Property Name</param>
            <param name="otherPropertyName">The rhs Property Name</param>
            <returns>A <see cref="T:NHibernate.Expression.EqPropertyExpression"/> .</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.NotEqProperty(System.String,System.String)">
            <summary>
            Apply an "not equal" constraint to two properties
            </summary>
            <param name="propertyName">The lhs Property Name</param>
            <param name="otherPropertyName">The rhs Property Name</param>
            <returns>A <see cref="T:NHibernate.Expression.EqPropertyExpression"/> .</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.GtProperty(System.String,System.String)">
            <summary>
            Apply a "greater than" constraint to two properties
            </summary>
            <param name="propertyName">The lhs Property Name</param>
            <param name="otherPropertyName">The rhs Property Name</param>
            <returns>A <see cref="T:NHibernate.Expression.LtPropertyExpression"/> .</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.GeProperty(System.String,System.String)">
            <summary>
            Apply a "greater than or equal" constraint to two properties
            </summary>
            <param name="propertyName">The lhs Property Name</param>
            <param name="otherPropertyName">The rhs Property Name</param>
            <returns>A <see cref="T:NHibernate.Expression.LePropertyExpression"/> .</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.LtProperty(System.String,System.String)">
            <summary>
            Apply a "less than" constraint to two properties
            </summary>
            <param name="propertyName">The lhs Property Name</param>
            <param name="otherPropertyName">The rhs Property Name</param>
            <returns>A <see cref="T:NHibernate.Expression.LtPropertyExpression"/> .</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.LeProperty(System.String,System.String)">
            <summary>
            Apply a "less than or equal" constraint to two properties
            </summary>
            <param name="propertyName">The lhs Property Name</param>
            <param name="otherPropertyName">The rhs Property Name</param>
            <returns>A <see cref="T:NHibernate.Expression.LePropertyExpression"/> .</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.IsNotNull(System.String)">
            <summary>
            Apply an "is not null" constraint to the named property
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <returns>A <see cref="T:NHibernate.Expression.NotNullExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.IsNotEmpty(System.String)">
            <summary>
            Apply an "is not empty" constraint to the named property 
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <returns>A <see cref="T:NHibernate.Expression.IsNotEmptyExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.IsEmpty(System.String)">
            <summary>
            Apply an "is not empty" constraint to the named property 
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <returns>A <see cref="T:NHibernate.Expression.IsEmptyExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.And(NHibernate.Expression.ICriterion,NHibernate.Expression.ICriterion)">
            <summary>
            Return the conjuction of two expressions
            </summary>
            <param name="lhs">The Expression to use as the Left Hand Side.</param>
            <param name="rhs">The Expression to use as the Right Hand Side.</param>
            <returns>An <see cref="T:NHibernate.Expression.AndExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Or(NHibernate.Expression.ICriterion,NHibernate.Expression.ICriterion)">
            <summary>
            Return the disjuction of two expressions
            </summary>
            <param name="lhs">The Expression to use as the Left Hand Side.</param>
            <param name="rhs">The Expression to use as the Right Hand Side.</param>
            <returns>An <see cref="T:NHibernate.Expression.OrExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Not(NHibernate.Expression.ICriterion)">
            <summary>
            Return the negation of an expression
            </summary>
            <param name="expression">The Expression to negate.</param>
            <returns>A <see cref="T:NHibernate.Expression.NotExpression"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Sql(NHibernate.SqlCommand.SqlString,System.Object[],NHibernate.Type.IType[])">
            <summary>
            Apply a constraint expressed in SQL, with the given SQL parameters
            </summary>
            <param name="sql"></param>
            <param name="values"></param>
            <param name="types"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Sql(NHibernate.SqlCommand.SqlString,System.Object,NHibernate.Type.IType)">
            <summary>
            Apply a constraint expressed in SQL, with the given SQL parameter
            </summary>
            <param name="sql"></param>
            <param name="value"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Sql(System.String,System.Object,NHibernate.Type.IType)">
            <summary>
            Apply a constraint expressed in SQL, with the given SQL parameter
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Expression.Sql(NHibernate.SqlCommand.SqlString)">
            <summary>
            Apply a constraint expressed in SQL
            </summary>
            <param name="sql"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Sql(System.String)">
            <summary>
            Apply a constraint expressed in SQL
            </summary>
            <param name="sql"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Expression.Conjunction">
            <summary>
            Group expressions together in a single conjunction (A and B and C...)
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Expression.Disjunction">
            <summary>
            Group expressions together in a single disjunction (A or B or C...)
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Expression.AllEq(System.Collections.IDictionary)">
            <summary>
            Apply an "equals" constraint to each property in the key set of a IDictionary
            </summary>
            <param name="propertyNameValues">a dictionary from property names to values</param>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Expression.GeExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "greater than or equal" constraint.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.GeExpression.#ctor(System.String,System.Object)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.GeExpression"/> class for a named
            Property and its value.
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
        </member>
        <member name="P:NHibernate.Expression.GeExpression.Op">
            <summary>
            Get the Sql operator to use for the <see cref="T:NHibernate.Expression.GeExpression"/>.
            </summary>
            <value>The string "<c> &gt;= </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.GePropertyExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "greater than or equal" constraint 
            between two properties.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.GePropertyExpression.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Expression.GePropertyExpression"/> class
            that compares two mapped properties using an "greater than or equal" constraint.
            </summary>
            <param name="lhsPropertyName">The name of the Property to use as the left hand side.</param>
            <param name="rhsPropertyName">The name of the Property to use as the right hand side.</param>
        </member>
        <member name="P:NHibernate.Expression.GePropertyExpression.Op">
            <summary>
            Get the Sql operator to use for the <see cref="T:NHibernate.Expression.LtPropertyExpression"/>.
            </summary>
            <value>The string "<c> &lt; </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.GtExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "greater than" constraint.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.GtExpression.#ctor(System.String,System.Object)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.GtExpression"/> class for a named
            Property and its value.
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
        </member>
        <member name="P:NHibernate.Expression.GtExpression.Op">
            <summary>
            Get the Sql operator to use for the <see cref="T:NHibernate.Expression.GtExpression"/>.
            </summary>
            <value>The string "<c> &gt; </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.GtPropertyExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "greater than" constraint 
            between two properties.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.GtPropertyExpression.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Expression.GtPropertyExpression"/> class
            that compares two mapped properties using an "greater than" constraint.
            </summary>
            <param name="lhsPropertyName">The name of the Property to use as the left hand side.</param>
            <param name="rhsPropertyName">The name of the Property to use as the right hand side.</param>
        </member>
        <member name="P:NHibernate.Expression.GtPropertyExpression.Op">
            <summary>
            Get the Sql operator to use for the <see cref="T:NHibernate.Expression.LtPropertyExpression"/>.
            </summary>
            <value>The string "<c> &lt; </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.IdentifierEqExpression">
            <summary>
            An identifier constraint
            </summary>
        </member>
        <member name="T:NHibernate.Expression.InExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that constrains the property 
            to a specified list of values.
            </summary>
            <remarks>
            InExpression - should only be used with a Single Value column - no multicolumn properties...
            </remarks>
        </member>
        <member name="M:NHibernate.Expression.InExpression.#ctor(System.String,System.Object[])">
            <summary>
            
            </summary>
            <param name="propertyName"></param>
            <param name="values"></param>
        </member>
        <member name="M:NHibernate.Expression.InExpression.ToString">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Expression.InsensitiveLikeExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "like" constraint
            that is <b>not</b> case sensitive.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.InsensitiveLikeExpression.#ctor(System.String,System.Object)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.InsensitiveLikeExpression"/> 
            class for a named Property and its value.
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
        </member>
        <member name="M:NHibernate.Expression.InsensitiveLikeExpression.ToString">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Expression.IsEmptyExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents empty association constraint.
            </summary>
        </member>
        <member name="T:NHibernate.Expression.IsNotEmptyExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents non-empty association constraint.
            </summary>
        </member>
        <member name="T:NHibernate.Expression.LeExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "less than or equal" constraint.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.LeExpression.#ctor(System.String,System.Object)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.LeExpression"/> class for a named
            Property and its value.
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
        </member>
        <member name="P:NHibernate.Expression.LeExpression.Op">
            <summary>
            Get the Sql operator to use for the <see cref="T:NHibernate.Expression.LeExpression"/>.
            </summary>
            <value>The string "<c> &lt;= </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.LePropertyExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "less than or equal" constraint 
            between two properties.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.LePropertyExpression.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Expression.LePropertyExpression"/> class
            that compares two mapped properties using an "less than or equal" constraint.
            </summary>
            <param name="lhsPropertyName">The name of the Property to use as the left hand side.</param>
            <param name="rhsPropertyName">The name of the Property to use as the right hand side.</param>
        </member>
        <member name="P:NHibernate.Expression.LePropertyExpression.Op">
            <summary>
            Get the Sql operator to use for the <see cref="T:NHibernate.Expression.LePropertyExpression"/>.
            </summary>
            <value>The string "<c> &lt;= </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.LikeExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "like" constraint.
            </summary>
            <remarks>
            The case sensitivity depends on the database settings for string 
            comparisons.  Use <see cref="T:NHibernate.Expression.InsensitiveLikeExpression"/> if the
            string comparison should not be case sensitive.
            </remarks>
        </member>
        <member name="M:NHibernate.Expression.LikeExpression.#ctor(System.String,System.Object)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.LikeExpression"/> class for a named
            Property and its value.
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
        </member>
        <member name="P:NHibernate.Expression.LikeExpression.Op">
            <summary>
            Get the Sql operator to use for the <see cref="T:NHibernate.Expression.LikeExpression"/>.
            </summary>
            <value>The string "<c> like </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.LtExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "less than" constraint.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.LtExpression.#ctor(System.String,System.Object)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.LtExpression"/> class for a named
            Property and its value.
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
            <param name="value">The value for the Property.</param>
        </member>
        <member name="P:NHibernate.Expression.LtExpression.Op">
            <summary>
            Get the Sql operator to use for the <see cref="T:NHibernate.Expression.LtExpression"/>.
            </summary>
            <value>The string "<c> &lt; </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.LtPropertyExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents an "less than" constraint 
            between two properties.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.LtPropertyExpression.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Expression.LtPropertyExpression"/> class
            that compares two mapped properties using an "less than" constraint.
            </summary>
            <param name="lhsPropertyName">The name of the Property to use as the left hand side.</param>
            <param name="rhsPropertyName">The name of the Property to use as the right hand side.</param>
        </member>
        <member name="P:NHibernate.Expression.LtPropertyExpression.Op">
            <summary>
            Get the Sql operator to use for the <see cref="T:NHibernate.Expression.LtPropertyExpression"/>.
            </summary>
            <value>The string "<c> &lt; </c>"</value>
        </member>
        <member name="T:NHibernate.Expression.MatchMode">
            <summary>
            Represents an strategy for matching strings using "like".
            </summary>
        </member>
        <member name="M:NHibernate.Expression.MatchMode.#ctor(System.Int32,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.MatchMode"/> class.
            </summary>
            <param name="intCode">The code that identifies the match mode.</param>
            <param name="name">The friendly name of the match mode.</param>
            <remarks>
            The parameter <c>intCode</c> is used as the key of <see cref="T:System.Collections.IDictionary"/>
            to store instances and to ensure only instance of a particular <see cref="T:NHibernate.Expression.MatchMode"/>
            is created.
            </remarks>
        </member>
        <member name="M:NHibernate.Expression.MatchMode.ToString">
            <summary>
            The string representation of the <see cref="T:NHibernate.Expression.MatchMode"/>.
            </summary>
            <returns>The friendly name used to describe the <see cref="T:NHibernate.Expression.MatchMode"/>.</returns>
        </member>
        <member name="M:NHibernate.Expression.MatchMode.ToMatchString(System.String)">
            <summary>
            Convert the pattern, by appending/prepending "%"
            </summary>
            <param name="pattern">The string to convert to the appropriate match pattern.</param>
            <returns>
            A <see cref="T:System.String"/> that contains a "%" in the appropriate place
            for the Match Strategy.
            </returns>
        </member>
        <member name="F:NHibernate.Expression.MatchMode.Exact">
            <summary>
            Match the entire string to the pattern
            </summary>
        </member>
        <member name="F:NHibernate.Expression.MatchMode.Start">
            <summary>
            Match the start of the string to the pattern
            </summary>
        </member>
        <member name="F:NHibernate.Expression.MatchMode.End">
            <summary>
            Match the end of the string to the pattern
            </summary>
        </member>
        <member name="F:NHibernate.Expression.MatchMode.Anywhere">
            <summary>
            Match the pattern anywhere in the string
            </summary>
        </member>
        <member name="T:NHibernate.Expression.MatchMode.ExactMatchMode">
            <summary>
            The <see cref="T:NHibernate.Expression.MatchMode"/> that matches the entire string to the pattern.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.MatchMode.ExactMatchMode.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.MatchMode.ExactMatchMode"/> class.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.MatchMode.ExactMatchMode.ToMatchString(System.String)">
            <summary>
            Converts the string to the Exact MatchMode.
            </summary>
            <param name="pattern">The string to convert to the appropriate match pattern.</param>
            <returns>The <c>pattern</c> exactly the same as it was passed in.</returns>
        </member>
        <member name="T:NHibernate.Expression.MatchMode.StartMatchMode">
            <summary>
            The <see cref="T:NHibernate.Expression.MatchMode"/> that matches the start of the string to the pattern.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.MatchMode.StartMatchMode.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.MatchMode.StartMatchMode"/> class.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.MatchMode.StartMatchMode.ToMatchString(System.String)">
            <summary>
            Converts the string to the Start MatchMode.
            </summary>
            <param name="pattern">The string to convert to the appropriate match pattern.</param>
            <returns>The <c>pattern</c> with a "<c>%</c>" appended at the end.</returns>
        </member>
        <member name="T:NHibernate.Expression.MatchMode.EndMatchMode">
            <summary>
            The <see cref="T:NHibernate.Expression.MatchMode"/> that matches the end of the string to the pattern.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.MatchMode.EndMatchMode.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.MatchMode.EndMatchMode"/> class.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.MatchMode.EndMatchMode.ToMatchString(System.String)">
            <summary>
            Converts the string to the End MatchMode.
            </summary>
            <param name="pattern">The string to convert to the appropriate match pattern.</param>
            <returns>The <c>pattern</c> with a "<c>%</c>" appended at the beginning.</returns>
        </member>
        <member name="T:NHibernate.Expression.MatchMode.AnywhereMatchMode">
            <summary>
            The <see cref="T:NHibernate.Expression.MatchMode"/> that exactly matches the string
            by appending "<c>%</c>" to the beginning and end.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.MatchMode.AnywhereMatchMode.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.MatchMode.AnywhereMatchMode"/> class.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.MatchMode.AnywhereMatchMode.ToMatchString(System.String)">
            <summary>
            Converts the string to the Exact MatchMode.
            </summary>
            <param name="pattern">The string to convert to the appropriate match pattern.</param>
            <returns>The <c>pattern</c> with a "<c>%</c>" appended at the beginning and the end.</returns>
        </member>
        <member name="T:NHibernate.Expression.NotExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that negates another <see cref="T:NHibernate.Expression.ICriterion"/>.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.NotExpression.#ctor(NHibernate.Expression.ICriterion)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.NotExpression"/> class for an
            <see cref="T:NHibernate.Expression.ICriterion"/>
            </summary>
            <param name="criterion">The <see cref="T:NHibernate.Expression.ICriterion"/> to negate.</param>
        </member>
        <member name="T:NHibernate.Expression.NotNullExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents "not null" constraint.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.NotNullExpression.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.NotNullExpression"/> class for a named
            Property that should not be null.
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
        </member>
        <member name="T:NHibernate.Expression.NullExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that represents "null" constraint.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.NullExpression.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.NotNullExpression"/> class for a named
            Property that should be null.
            </summary>
            <param name="propertyName">The name of the Property in the class.</param>
        </member>
        <member name="M:NHibernate.Expression.NullExpression.ToString">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Expression.Order">
            <summary>
            Represents an order imposed upon a <see cref="T:NHibernate.ICriteria"/>
            result set.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Order.#ctor(System.String,System.Boolean)">
            <summary>
            Constructor for Order.
            </summary>
            <param name="propertyName"></param>
            <param name="ascending"></param>
        </member>
        <member name="M:NHibernate.Expression.Order.ToSqlString(NHibernate.ICriteria,NHibernate.Expression.ICriteriaQuery)">
            <summary>
            Render the SQL fragment
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Order.Asc(System.String)">
            <summary>
            Ascending order
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Order.Desc(System.String)">
            <summary>
            Descending order
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Expression.OrExpression">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that combines two <see cref="T:NHibernate.Expression.ICriterion"/>s with an 
            <c>"or"</c> between them.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.OrExpression.#ctor(NHibernate.Expression.ICriterion,NHibernate.Expression.ICriterion)">
            <summary>
            Initialize a new instance of the <see cref="T:NHibernate.Expression.OrExpression"/> class for 
            two <see cref="T:NHibernate.Expression.ICriterion"/>s.
            </summary>
            <param name="lhs">The <see cref="T:NHibernate.Expression.ICriterion"/> to use as the left hand side.</param>
            <param name="rhs">The <see cref="T:NHibernate.Expression.ICriterion"/> to use as the right hand side.</param>
        </member>
        <member name="P:NHibernate.Expression.OrExpression.Op">
            <summary>
            Get the Sql operator to put between the two <see cref="T:NHibernate.Expression.Expression"/>s.
            </summary>
            <value>Returns "<c>or</c>"</value>
        </member>
        <member name="T:NHibernate.Expression.Projections">
            <summary>
            The <tt>criterion</tt> package may be used by applications as a framework for building
            new kinds of <tt>Projection</tt>. However, it is intended that most applications will
            simply use the built-in projection types via the static factory methods of this class.<br/>
            <br/>
            The factory methods that take an alias allow the projected value to be referred to by 
            criterion and order instances.
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Projections.Distinct(NHibernate.Expression.IProjection)">
            <summary>
            Create a distinct projection from a projection
            </summary>
            <param name="proj"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.ProjectionList">
            <summary>
            Create a new projection list
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.RowCount">
            <summary>
            The query row count, ie. <tt>count(*)</tt>
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.Count(System.String)">
            <summary>
            A property value count
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.CountDistinct(System.String)">
            <summary>
            A distinct property value count
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.Max(System.String)">
            <summary>
            A property maximum value
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.Min(System.String)">
            <summary>
            A property minimum value
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.Avg(System.String)">
            <summary>
            A property average value
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.Sum(System.String)">
            <summary>
            A property value sum
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.SqlProjection(System.String,System.String[],NHibernate.Type.IType[])">
            <summary>
            A SQL projection, a typed select clause fragment
            </summary>
            <param name="sql"></param>
            <param name="columnAliases"></param>
            <param name="types"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.SqlGroupProjection(System.String,System.String,System.String[],NHibernate.Type.IType[])">
            <summary>
            A grouping SQL projection, specifying both select clause and group by clause fragments
            </summary>
            <param name="sql"></param>
            <param name="groupBy"></param>
            <param name="columnAliases"></param>
            <param name="types"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.GroupProperty(System.String)">
            <summary>
            A grouping property value
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.Property(System.String)">
            <summary>
            A projected property value
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.Id">
            <summary>
            A projected identifier value
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Expression.Projections.Alias(NHibernate.Expression.IProjection,System.String)">
            <summary>
            Assign an alias to a projection, by wrapping it
            </summary>
            <param name="projection"></param>
            <param name="alias"></param>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Expression.Property">
            <summary>
            A factory for property-specific  AbstractCriterion  and projection instances
            </summary>
        </member>
        <member name="T:NHibernate.Expression.PropertyProjection">
            <summary>
            A property value, or grouped property value
            </summary>
        </member>
        <member name="M:NHibernate.Expression.Property.GetProperty(System.String)">
            <summary>
            Get a component attribute of this property
            </summary>
        </member>
        <member name="T:NHibernate.Expression.PropertySubqueryExpression">
            <summary>
            A comparison between a property value in the outer query and the
             result of a subquery
            </summary>
        </member>
        <member name="T:NHibernate.Expression.SimpleSubqueryExpression">
            <summary>
            A comparison between a constant value and the the result of a subquery
            </summary>
        </member>
        <member name="T:NHibernate.Expression.SQLCriterion">
            <summary>
            An <see cref="T:NHibernate.Expression.ICriterion"/> that creates a SQLExpression.
            The string {alias} will be replaced by the alias of the root entity.
            </summary>
            <remarks>
            This allows for database specific Expressions at the cost of needing to 
            write a correct <see cref="T:NHibernate.SqlCommand.SqlString"/>.
            </remarks>
        </member>
        <member name="M:NHibernate.Expression.SQLCriterion.ToString">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Expression.SQLProjection">
            <summary>
            A SQL fragment. The string {alias} will be replaced by the alias of the root entity.
            </summary>
        </member>
        <member name="T:NHibernate.Expression.Subqueries">
            <summary>
            Factory class for AbstractCriterion instances that represent 
            involving subqueries.
            <c>Expression</c>
            <c>Projection</c>
            <c>AbstractCriterion</c>
            </summary>
        </member>
        <member name="T:NHibernate.Hql.Classic.ClassicQueryTranslatorFactory">
            <summary>
            Generates translators which uses the older hand-written parser to perform the translation.
            </summary>
        </member>
        <member name="T:NHibernate.Hql.IQueryTranslatorFactory">
            <summary>
            Facade for generation of <see cref="T:NHibernate.Hql.IQueryTranslator"/> 
            and <see cref="T:NHibernate.Hql.IFilterTranslator"/> instances.
            </summary>
        </member>
        <member name="M:NHibernate.Hql.IQueryTranslatorFactory.CreateQueryTranslator(System.String,System.Collections.IDictionary,NHibernate.Engine.ISessionFactoryImplementor)">
            <summary>
            Construct a <see cref="T:NHibernate.Hql.IQueryTranslator"/> instance 
            capable of translating an HQL query string.
            </summary>
            <param name="queryString">The query string to be translated</param>
            <param name="filters">Currently enabled filters</param>
            <param name="factory">The session factory</param>
            <returns>An appropriate translator.</returns>
        </member>
        <member name="M:NHibernate.Hql.IQueryTranslatorFactory.CreateFilterTranslator(System.String,System.Collections.IDictionary,NHibernate.Engine.ISessionFactoryImplementor)">
            <summary>
            Construct a <see cref="T:NHibernate.Hql.IFilterTranslator"/> instance capable of 
            translating an HQL filter string.
            </summary>
            <param name="queryString">The query string to be translated</param>
            <param name="filters">Currently enabled filters</param>
            <param name="factory">The session factory</param>
            <returns>An appropriate translator.</returns>
        </member>
        <member name="T:NHibernate.Hql.Classic.ClauseParser">
            <summary> 
            Parses the hibernate query into its constituent clauses.
            </summary>
        </member>
        <member name="T:NHibernate.Hql.Classic.IParser">
            <summary> 
            A parser is a state machine that accepts a string of tokens,
            bounded by start() and end() and modifies a QueryTranslator. Parsers
            are NOT intended to be threadsafe. They SHOULD be reuseable
            for more than one token stream.
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.IParser.Token(System.String,NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="token"></param>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.IParser.Start(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.IParser.End(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="T:NHibernate.Hql.Classic.FromParser">
            <summary> 
            Parses the from clause of a hibernate query, looking for tables and
            aliases for the SQL query.
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.FromParser.#cctor">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Hql.Classic.FromPathExpressionParser">
            <summary>
            FromPathExpressionParser
            </summary>
        </member>
        <member name="T:NHibernate.Hql.Classic.PathExpressionParser">
            <summary> 
            Parses an expression of the form foo.bar.baz and builds up an expression
            involving two less table joins than there are path components.
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.DereferenceEntity(System.String,NHibernate.Type.EntityType,NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="propertyName"></param>
            <param name="propertyType"></param>
            <param name="q"></param>
            <remarks>NOTE: we avoid joining to the next table if the named property is just the foreign key value</remarks>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.CurrentColumns">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.Start(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.End(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.LastCollectionElement">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.SetLastCollectionElementIndexValue(NHibernate.SqlCommand.SqlString)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.SetExpectingCollectionIndex">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.GetCollectionSubquery(System.Collections.IDictionary)">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.AddAssociation(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.AddFromAssociation(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.AddFromCollection(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Hql.Classic.PathExpressionParser.Fetch(NHibernate.Hql.Classic.QueryTranslator,System.String)">
            <summary>
            
            </summary>
            <param name="q"></param>
            <param name="entityName"></param>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.PropertyType">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.IsExpectingCollectionIndex">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.WhereColumn">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.WhereColumns">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.WhereColumnType">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.Name">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.IsCollectionValued">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.CollectionName">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.CollectionRole">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.CollectionOwnerName">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.CurrentName">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.PathExpressionParser.CurrentProperty">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Hql.Classic.PathExpressionParser.CollectionElement">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Hql.Classic.PathExpressionParser.CollectionElement.Type">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Hql.Classic.PathExpressionParser.CollectionElement.IsOneToMany">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Hql.Classic.PathExpressionParser.CollectionElement.Alias">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Hql.Classic.PathExpressionParser.CollectionElement.ElementColumns">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Hql.Classic.PathExpressionParser.CollectionElement.JoinSequence">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Hql.Classic.PathExpressionParser.CollectionElement.IndexValue">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.FromPathExpressionParser.End(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.FromPathExpressionParser.SetExpectingCollectionIndex">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Hql.Classic.GroupByParser">
            <summary> 
            Parses the GROUP BY clause of an aggregate query
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.GroupByParser.#ctor">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Hql.Classic.HavingParser">
            <summary> 
            Parses the having clause of a hibernate query and translates it to an
            SQL having clause.
            </summary>
        </member>
        <member name="T:NHibernate.Hql.Classic.WhereParser">
            <summary> Parses the where clause of a hibernate query and translates it to an
            SQL where clause.
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.WhereParser.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.WhereParser.#cctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.WhereParser.Token(System.String,NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="token"></param>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.WhereParser.Start(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.WhereParser.End(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.WhereParser.AppendToken(NHibernate.Hql.Classic.QueryTranslator,System.String)">
            <summary>
            
            </summary>
            <param name="q"></param>
            <param name="token"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.WhereParser.AppendToken(NHibernate.Hql.Classic.QueryTranslator,NHibernate.SqlCommand.SqlString)">
            <summary>
            
            </summary>
            <param name="q"></param>
            <param name="token"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.HavingParser.AppendToken(NHibernate.Hql.Classic.QueryTranslator,System.String)">
            <summary>
            
            </summary>
            <param name="q"></param>
            <param name="token"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.HavingParser.AppendToken(NHibernate.Hql.Classic.QueryTranslator,NHibernate.SqlCommand.SqlString)">
            <summary>
            
            </summary>
            <param name="q"></param>
            <param name="token"></param>
        </member>
        <member name="T:NHibernate.Hql.Classic.OrderByParser">
            <summary> 
            Parses the ORDER BY clause of a query
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.OrderByParser.Token(System.String,NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="token"></param>
            <param name="q"></param>
        </member>
        <member name="T:NHibernate.Hql.Classic.ParserHelper">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Hql.Classic.PreprocessingParser">
            <summary>HQL lexical analyzer (not really a parser)</summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.PreprocessingParser.#cctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.PreprocessingParser.#ctor(System.Collections.IDictionary)">
            <summary>
            
            </summary>
            <param name="replacements"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.PreprocessingParser.Token(System.String,NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="token"></param>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.PreprocessingParser.Start(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.PreprocessingParser.End(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="T:NHibernate.Hql.Classic.QueryTranslator">
            <summary> 
            An instance of <c>QueryTranslator</c> translates a Hibernate query string to SQL.
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Loader">
            <summary>
            Abstract superclass of object loading (and querying) strategies.
            </summary>
            <remarks>
            <p>
            This class implements useful common functionality that concrete loaders would delegate to.
            It is not intended that this functionality would be directly accessed by client code (Hence,
            all methods of this class are declared <c>protected</c> or <c>private</c>.) This class relies heavily upon the
            <see cref="T:NHibernate.Persister.Entity.ILoadable"/> interface, which is the contract between this class and 
            <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/>s that may be loaded by it.
            </p>
            <p>
            The present implementation is able to load any number of columns of entities and at most 
            one collection role per query.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Loader.Loader.GetLockModes(System.Collections.IDictionary)">
            <summary>
            What lock mode does this load entities with?
            </summary>
            <param name="lockModes">A Collection of lock modes specified dynamically via the Query Interface</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Loader.Loader.ApplyLocks(NHibernate.SqlCommand.SqlString,System.Collections.IDictionary,NHibernate.Dialect.Dialect)">
            <summary>
            Append <c>FOR UPDATE OF</c> clause, if necessary. This
            empty superclass implementation merely returns its first
            argument.
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.UpgradeLocks">
            <summary>
            Does this query return objects that might be already cached by 
            the session, whose lock mode may need upgrading.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Loader.Loader.PreprocessSQL(NHibernate.SqlCommand.SqlString,NHibernate.Engine.QueryParameters,NHibernate.Dialect.Dialect)">
            <summary>
            Modify the SQL, adding lock hints and comments, if necessary
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(NHibernate.Engine.ISessionImplementor,NHibernate.Engine.QueryParameters,System.Boolean)">
            <summary>
            Execute an SQL query and attempt to instantiate instances of the class mapped by the given
            persister from each row of the <c>DataReader</c>. If an object is supplied, will attempt to
            initialize that object. If a collection is supplied, attempt to initialize that collection.
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.LoadSingleRow(System.Data.IDataReader,NHibernate.Engine.ISessionImplementor,NHibernate.Engine.QueryParameters,System.Boolean)">
            <summary>
            Loads a single row from the result set.  This is the processing used from the
            ScrollableResults where no collection fetches were encountered.
            </summary>
            <param name="resultSet">The result set from which to do the load.</param>
            <param name="session">The session from which the request originated.</param>
            <param name="queryParameters">The query parameters specified by the user.</param>
            <param name="returnProxies">Should proxies be generated</param>
            <returns>The loaded "row".</returns>
            <exception cref="T:NHibernate.HibernateException"/>
        </member>
        <member name="M:NHibernate.Loader.Loader.ReadCollectionElements(System.Object[],System.Data.IDataReader,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Read any collection elements contained in a single row of the result set
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.GetResultColumnOrRow(System.Object[],NHibernate.Transform.IResultTransformer,System.Data.IDataReader,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Get the actual object that is returned in the user-visible result list.
            </summary>
            <remarks>
            This empty implementation merely returns its first argument. This is
            overridden by some subclasses.
            </remarks>
        </member>
        <member name="M:NHibernate.Loader.Loader.RegisterNonExists(NHibernate.Engine.EntityKey[],NHibernate.Persister.Entity.ILoadable[],NHibernate.Engine.ISessionImplementor)">
            <summary>
            For missing objects associated by one-to-one with another object in the
            result set, register the fact that the the object is missing with the
            session.
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.ReadCollectionElement(System.Object,System.Object,NHibernate.Persister.Collection.ICollectionPersister,NHibernate.Loader.ICollectionAliases,System.Data.IDataReader,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Read one collection element from the current row of the ADO.NET result set
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.HandleEmptyCollections(System.Object[],System.Object,NHibernate.Engine.ISessionImplementor)">
            <summary>
            If this is a collection initializer, we need to tell the session that a collection
            is being initilized, to account for the possibility of the collection having
            no elements (hence no rows in the result set).
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.GetKeyFromResultSet(System.Int32,NHibernate.Persister.Entity.ILoadable,System.Object,System.Data.IDataReader,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Read a row of <c>EntityKey</c>s from the <c>IDataReader</c> into the given array.
            </summary>
            <remarks>
            Warning: this method is side-effecty. If an <c>id</c> is given, don't bother going
            to the <c>IDataReader</c>
            </remarks>
            <param name="persister"></param>
            <param name="id"></param>
            <param name="rs"></param>
            <param name="session"></param>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Loader.Loader.CheckVersion(System.Int32,NHibernate.Persister.Entity.ILoadable,System.Object,System.Object,System.Data.IDataReader,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Check the version of the object in the <c>IDataReader</c> against
            the object version in the session cache, throwing an exception
            if the vesrion numbers are different.
            </summary>
            <param name="i"></param>
            <param name="persister"></param>
            <param name="id"></param>
            <param name="version"></param>
            <param name="rs"></param>
            <param name="session"></param>
            <exception cref="T:NHibernate.StaleObjectStateException"></exception>
        </member>
        <member name="M:NHibernate.Loader.Loader.GetRow(System.Data.IDataReader,NHibernate.Persister.Entity.ILoadable[],NHibernate.Engine.EntityKey[],System.Object,NHibernate.Engine.EntityKey,NHibernate.LockMode[],System.Collections.IList,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Resolve any ids for currently loaded objects, duplications within the <c>IDataReader</c>,
            etc. Instanciate empty objects to be initialized from the <c>IDataReader</c>. Return an
            array of objects (a row of results) and an array of booleans (by side-effect) that determine
            wheter the corresponding object should be initialized
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.InstanceAlreadyLoaded(System.Data.IDataReader,System.Int32,NHibernate.Persister.Entity.ILoadable,NHibernate.Engine.EntityKey,System.Object,NHibernate.LockMode,NHibernate.Engine.ISessionImplementor)">
            <summary>
            The entity instance is already in the session cache
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.InstanceNotYetLoaded(System.Data.IDataReader,System.Int32,NHibernate.Persister.Entity.ILoadable,NHibernate.Engine.EntityKey,NHibernate.LockMode,NHibernate.Engine.EntityKey,System.Object,System.Collections.IList,NHibernate.Engine.ISessionImplementor)">
            <summary>
            The entity instance is not in the session cache
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.LoadFromResultSet(System.Data.IDataReader,System.Int32,System.Object,System.Type,NHibernate.Engine.EntityKey,NHibernate.LockMode,NHibernate.Persister.Entity.ILoadable,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Hydrate the state of an object from the SQL <c>IDataReader</c>, into
            an array of "hydrated" values (do not resolve associations yet),
            and pass the hydrated state to the session.
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.GetInstanceClass(System.Data.IDataReader,System.Int32,NHibernate.Persister.Entity.ILoadable,System.Object,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Determine the concrete class of an instance for the <c>IDataReader</c>
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.Hydrate(System.Data.IDataReader,System.Object,System.Object,NHibernate.Persister.Entity.ILoadable,NHibernate.Engine.ISessionImplementor,System.String[][])">
            <summary>
            Unmarshall the fields of a persistent instance from a result set,
            without resolving associations or collections
            </summary>
            <param name="rs"></param>
            <param name="id"></param>
            <param name="obj"></param>
            <param name="persister"></param>
            <param name="session"></param>
            <param name="suffixedPropertyColumns"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Loader.Loader.Advance(System.Data.IDataReader,NHibernate.Engine.RowSelection)">
            <summary>
            Advance the cursor to the first required row of the <c>IDataReader</c>
            </summary>
            <param name="rs"></param>
            <param name="selection"></param>
        </member>
        <member name="M:NHibernate.Loader.Loader.UseLimit(NHibernate.Engine.RowSelection,NHibernate.Dialect.Dialect)">
            <summary>
            Should we pre-process the SQL string, adding a dialect-specific
            LIMIT clause.
            </summary>
            <param name="selection"></param>
            <param name="dialect"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Loader.Loader.BindPositionalParameters(System.Data.IDbCommand,NHibernate.Engine.QueryParameters,System.Int32,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Bind positional parameter values to the <c>IDbCommand</c>
            (these are parameters specified by ?).
            </summary>
            <param name="st"></param>
            <param name="queryParameters"></param>
            <param name="start"></param>
            <param name="session"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Loader.Loader.PrepareQueryCommand(NHibernate.Engine.QueryParameters,System.Boolean,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Obtain an <c>IDbCommand</c> with all parameters pre-bound. Bind positional parameters,
            named parameters, and limit parameters.
            </summary>
            <remarks>
            Creates an IDbCommand object and populates it with the values necessary to execute it against the 
            database to Load an Entity.
            </remarks>
            <param name="parameters">The <see cref="T:NHibernate.Engine.QueryParameters"/> to use for the IDbCommand.</param>
            <param name="scroll">TODO: find out where this is used...</param>
            <param name="session">The SessionImpl this Command is being prepared in.</param>
            <returns>A CommandWrapper wrapping an IDbCommand that is ready to be executed.</returns>
        </member>
        <member name="M:NHibernate.Loader.Loader.GetMaxOrLimit(NHibernate.Dialect.Dialect,NHibernate.Engine.RowSelection)">
            <summary>
            Some dialect-specific LIMIT clauses require the maximum last row number,
            others require the maximum returned row count.
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.BindLimitParameters(System.Data.IDbCommand,System.Int32,NHibernate.Engine.RowSelection,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Bind parameters needed by the dialect-specific LIMIT clause
            </summary>
            <returns>The number of parameters bound</returns>
        </member>
        <member name="M:NHibernate.Loader.Loader.SetMaxRows(System.Data.IDbCommand,NHibernate.Engine.RowSelection)">
            <summary>
            Limits the number of rows returned by the Sql query if necessary.
            </summary>
            <param name="st">The IDbCommand to limit.</param>
            <param name="selection">The RowSelection that contains the MaxResults info.</param>
            <remarks>TODO: This does not apply to ADO.NET at all</remarks>
        </member>
        <member name="M:NHibernate.Loader.Loader.GetResultSet(System.Data.IDbCommand,NHibernate.Engine.RowSelection,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Fetch a <c>IDbCommand</c>, call <c>SetMaxRows</c> and then execute it,
            advance to the first result and return an SQL <c>IDataReader</c>
            </summary>
            <param name="st">The <see cref="T:System.Data.IDbCommand"/> to execute.</param>
            <param name="selection">The <see cref="T:NHibernate.Engine.RowSelection"/> to apply to the <see cref="T:System.Data.IDbCommand"/> and <see cref="T:System.Data.IDataReader"/>.</param>
            <param name="session">The <see cref="T:NHibernate.ISession"/> to load in.</param>
            <returns>An IDataReader advanced to the first record in RowSelection.</returns>
        </member>
        <member name="M:NHibernate.Loader.Loader.BindNamedParameters(System.Data.IDbCommand,System.Collections.IDictionary,System.Int32,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Bind named parameters to the <c>IDbCommand</c>
            </summary>
            <param name="st">The <see cref="T:System.Data.IDbCommand"/> that contains the parameters.</param>
            <param name="namedParams">The named parameters (key) and the values to set.</param>
            <param name="session">The <see cref="T:NHibernate.ISession"/> this Loader is using.</param>
            <param name="start"></param>
        </member>
        <member name="M:NHibernate.Loader.Loader.LoadEntity(NHibernate.Engine.ISessionImplementor,System.Object,NHibernate.Type.IType,System.Object,System.Type,System.Object,NHibernate.Persister.Entity.IEntityPersister)">
            <summary>
            Called by subclasses that load entities
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.LoadEntityBatch(NHibernate.Engine.ISessionImplementor,System.Object[],NHibernate.Type.IType,System.Object,System.Type,System.Object,NHibernate.Persister.Entity.IEntityPersister)">
            <summary>
            Called by subclasses that batch load entities
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.LoadCollection(NHibernate.Engine.ISessionImplementor,System.Object,NHibernate.Type.IType)">
            <summary>
            Called by subclasses that load collections
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.LoadCollectionBatch(NHibernate.Engine.ISessionImplementor,System.Object[],NHibernate.Type.IType)">
            <summary>
            Called by wrappers that batch initialize collections
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.LoadCollectionSubselect(NHibernate.Engine.ISessionImplementor,System.Object[],System.Object[],NHibernate.Type.IType[],System.Collections.IDictionary,NHibernate.Type.IType)">
            <summary>
            Called by subclasses that batch initialize collections
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.List(NHibernate.Engine.ISessionImplementor,NHibernate.Engine.QueryParameters,Iesi.Collections.ISet,NHibernate.Type.IType[])">
            <summary>
            Return the query results, using the query cache, called
            by subclasses that implement cacheable queries
            </summary>
            <param name="session"></param>
            <param name="queryParameters"></param>
            <param name="querySpaces"></param>
            <param name="resultTypes"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Loader.Loader.DoList(NHibernate.Engine.ISessionImplementor,NHibernate.Engine.QueryParameters)">
            <summary>
            Actually execute a query, ignoring the query cache
            </summary>
            <param name="session"></param>
            <param name="queryParameters"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Loader.Loader.PostInstantiate">
            <summary>
            Calculate and cache select-clause suffixes. Must be
            called by subclasses after instantiation.
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Loader.GetParameterTypes(NHibernate.Engine.QueryParameters,System.Boolean,System.Boolean)">
            <returns><see cref="T:System.Collections.IList"/> of <see cref="T:NHibernate.Type.IType"/></returns>
        </member>
        <member name="P:NHibernate.Loader.Loader.SqlString">
            <summary>
            The SqlString to be called; implemented by all subclasses
            </summary>
            <remarks>
            <para>
            The <c>setter</c> was added so that class inheriting from Loader could write a 
            value using the Property instead of directly to the field.
            </para>
            <para>
            The scope is <c>protected internal</c> because the <see cref="T:NHibernate.Hql.Classic.WhereParser"/> needs to
            be able to <c>get</c> the SqlString of the <see cref="T:NHibernate.Hql.Classic.QueryTranslator"/> when
            it is parsing a subquery.
            </para>
            </remarks>
        </member>
        <member name="P:NHibernate.Loader.Loader.EntityPersisters">
            <summary>
            An array of persisters of entity classes contained in each row of results;
            implemented by all subclasses
            </summary>
            <remarks>
            The <c>setter</c> was added so that classes inheriting from Loader could write a 
            value using the Property instead of directly to the field.
            </remarks>
        </member>
        <member name="P:NHibernate.Loader.Loader.Owners">
            <summary>
            An array of indexes of the entity that owns a one-to-one association
            to the entity at the given index (-1 if there is no "owner")
            </summary>
        </member>
        <member name="P:NHibernate.Loader.Loader.CollectionPersisters">
            <summary>
            An (optional) persister for a collection to be initialized; only collection loaders
            return a non-null value
            </summary>
        </member>
        <member name="P:NHibernate.Loader.Loader.CollectionOwners">
            <summary>
            Get the index of the entity that owns the collection, or -1
            if there is no owner in the query results (i.e. in the case of a 
            collection initializer) or no collection.
            </summary>
        </member>
        <member name="P:NHibernate.Loader.Loader.IsSingleRowLoader">
            <summary>
            Return false is this loader is a batch entity loader
            </summary>
        </member>
        <member name="P:NHibernate.Loader.Loader.Aliases">
            <summary>
            Get the SQL table aliases of entities whose
            associations are subselect-loadable, returning
            null if this loader does not support subselect
            loading
            </summary>
        </member>
        <member name="P:NHibernate.Loader.Loader.EntityAliases">
            <summary>
            Get the result set descriptor
            </summary>
        </member>
        <member name="M:NHibernate.Loader.BasicLoader.GenerateSuffixes(System.Int32)">
            <summary>
            Utility method that generates 0_, 1_ suffixes. Subclasses don't
            necessarily need to use this algorithm, but it is intended that
            they will in most cases.
            </summary>
        </member>
        <member name="T:NHibernate.Hql.IFilterTranslator">
            <summary> 
            Specialized interface for filters.
            </summary>
        </member>
        <member name="T:NHibernate.Hql.IQueryTranslator">
            <summary>
            Defines the constract of an HQL->SQL translator.
            </summary>
        </member>
        <member name="M:NHibernate.Hql.IQueryTranslator.Compile(System.Collections.IDictionary,System.Boolean)">
            <summary>
            Compile a "normal" query. This method may be called multiple times. Subsequent invocations are no-ops.
            </summary>
            <param name="replacements">Defined query substitutions.</param>
            <param name="shallow">Does this represent a shallow (scalar or entity-id) select?</param>
            <exception cref="T:NHibernate.QueryException">There was a problem parsing the query string.</exception>
            <exception cref="T:NHibernate.MappingException">There was a problem querying defined mappings.</exception>
        </member>
        <member name="M:NHibernate.Hql.IQueryTranslator.List(NHibernate.Engine.ISessionImplementor,NHibernate.Engine.QueryParameters)">
            <summary>
            Perform a list operation given the underlying query definition.
            </summary>
            <param name="session">The session owning this query.</param>
            <param name="queryParameters">The query bind parameters.</param>
            <returns>The query list results.</returns>
            <exception cref="T:NHibernate.HibernateException"></exception>
        </member>
        <member name="M:NHibernate.Hql.IQueryTranslator.ExecuteUpdate(NHibernate.Engine.QueryParameters,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Perform a bulk update/delete operation given the underlying query defintion.
            </summary>
            <param name="queryParameters">The query bind parameters.</param>
            <param name="session">The session owning this query.</param>
            <returns>The number of entities updated or deleted.</returns>
            <exception cref="T:NHibernate.HibernateException"></exception>
        </member>
        <member name="M:NHibernate.Hql.IQueryTranslator.GetColumnNames">
            <summary>
            Returns the column names in the generated SQL.
            </summary>
            <returns>the column names in the generated SQL.</returns>
        </member>
        <member name="M:NHibernate.Hql.IQueryTranslator.GetParameterTranslations">
            <summary>
            Information about any parameters encountered during translation.
            </summary>
        </member>
        <member name="P:NHibernate.Hql.IQueryTranslator.QuerySpaces">
            <summary>
            The set of query spaces (table names) that the query referrs to.
            </summary>
        </member>
        <member name="P:NHibernate.Hql.IQueryTranslator.SQLString">
            <summary>
            The SQL string generated by the translator.
            </summary>
        </member>
        <member name="P:NHibernate.Hql.IQueryTranslator.QueryString">
            <summary>
            The HQL string processed by the translator.
            </summary>
        </member>
        <member name="P:NHibernate.Hql.IQueryTranslator.EnabledFilters">
            <summary>
            Returns the filters enabled for this query translator.
            </summary>
            <returns>Filters enabled for this query execution.</returns>
        </member>
        <member name="P:NHibernate.Hql.IQueryTranslator.ReturnTypes">
            <summary>
            Returns an array of Types represented in the query result.
            </summary>
            <returns>Query return types.</returns>
        </member>
        <member name="P:NHibernate.Hql.IQueryTranslator.ReturnAliases">
            <summary>
            Returns an array of HQL aliases
            </summary>
            <returns>Returns an array of HQL aliases</returns>
        </member>
        <member name="P:NHibernate.Hql.IQueryTranslator.ContainsCollectionFetches">
            <summary>
            Does the translated query contain collection fetches?
            </summary>
            <returns>True if the query does contain collection fetched; false otherwise.</returns>
        </member>
        <member name="M:NHibernate.Hql.IFilterTranslator.Compile(System.String,System.Collections.IDictionary,System.Boolean)">
            <summary> 
            Compile a filter. This method may be called multiple
            times. Subsequent invocations are no-ops.
            </summary>
            <param name="collectionRole">the role name of the collection used as the basis for the filter.</param>
            <param name="replacements">Defined query substitutions.</param>
            <param name="shallow">Does this represent a shallow (scalar or entity-id) select?</param>
        </member>
        <member name="M:NHibernate.Hql.Classic.QueryTranslator.#ctor(NHibernate.Engine.ISessionFactoryImplementor,System.String,System.Collections.IDictionary)">
            <summary> 
            Construct a query translator
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.QueryTranslator.Compile(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            Compile a subquery
            </summary>
            <param name="superquery"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.QueryTranslator.Compile(System.Collections.IDictionary,System.Boolean)">
            <summary>
            Compile a "normal" query. This method may be called multiple
            times. Subsequent invocations are no-ops.
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.QueryTranslator.Compile(System.String,System.Collections.IDictionary,System.Boolean)">
            <summary>
            Compile a filter. This method may be called multiple
            times. Subsequent invocations are no-ops.
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.QueryTranslator.Compile">
            <summary> 
            Compile the query (generate the SQL).
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.QueryTranslator.RenderScalarSelect">
            <summary> 
            WARNING: side-effecty
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.QueryTranslator.AddFromAssociation(System.String,System.String)">
            <remarks>Used for collection filters</remarks>
        </member>
        <member name="M:NHibernate.Hql.Classic.QueryTranslator.#cctor">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.QueryTranslator.EntityPersisters">
            <summary>
            Persisters for the return values of a <c>Find</c> style query
            </summary>
            <remarks>
            The <c>Persisters</c> stored by QueryTranslator have to be <see cref="T:NHibernate.Persister.Entity.IQueryable"/>.  The
            <c>setter</c> will attempt to cast the <c>ILoadable</c> array passed in into an 
            <c>IQueryable</c> array.
            </remarks>
        </member>
        <member name="P:NHibernate.Hql.Classic.QueryTranslator.ReturnTypes">
             <summary>
            Types of the return values of an <c>Enumerate()</c> style query.
            Return an array of <see cref="T:NHibernate.Type.IType"/>s.
             </summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.QueryTranslator.SqlString">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.QueryTranslator.IsShallowQuery">
            <summary>
            Is this query called by Scroll() or Iterate()?
            </summary>
            <value>true if it is, false if it is called by find() or list()</value>
        </member>
        <member name="P:NHibernate.Hql.Classic.QueryTranslator.IsSubquery">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.QueryTranslator.Owners">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Hql.Classic.SelectParser">
            <summary>
            Parsers the select clause of a hibernate query, looking
            for a table (well, really class) alias.
            </summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.SelectParser.#cctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.SelectParser.#ctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.SelectParser.Token(System.String,NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="token"></param>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.SelectParser.AggregateHasArgs(System.String,NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="funcToken"></param>
            <param name="q"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Hql.Classic.SelectParser.AggregateFuncNoArgsHasParenthesis(System.String,NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="funcToken"></param>
            <param name="q"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Hql.Classic.SelectParser.AggregateType(System.Collections.ArrayList,NHibernate.Type.IType,NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="funcTokenList"></param>
            <param name="type"></param>
            <param name="q"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Hql.Classic.SelectParser.Start(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.SelectParser.End(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="T:NHibernate.Hql.Classic.SelectPathExpressionParser">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Hql.Classic.SelectPathExpressionParser.End(NHibernate.Hql.Classic.QueryTranslator)">
            <summary>
            
            </summary>
            <param name="q"></param>
        </member>
        <member name="M:NHibernate.Hql.Classic.SelectPathExpressionParser.SetExpectingCollectionIndex">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Hql.Classic.SelectPathExpressionParser.SelectName">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Hql.Util.SessionFactoryHelper">
            <summary>
            Wraps SessionFactoryImpl, adding more lookup behaviors and encapsulating some of the error handling.
            </summary>
        </member>
        <member name="T:NHibernate.Hql.NameGenerator">
            <summary>
            Provides utility methods for generating HQL / SQL names.
            Shared by both the 'classic' and 'new' query translators.
            </summary>
        </member>
        <member name="T:NHibernate.QueryException">
            <summary>
            A problem occurred translating a Hibernate query to SQL due to invalid query syntax, etc.
            </summary>
        </member>
        <member name="M:NHibernate.QueryException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.QueryException"/> class.
            </summary>
            <param name="message">The message that describes the error. </param>
        </member>
        <member name="M:NHibernate.QueryException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.QueryException"/> class.
            </summary>
            <param name="message">The message that describes the error. </param>
            <param name="innerException">
            The exception that is the cause of the current exception. If the innerException parameter 
            is not a null reference, the current exception is raised in a catch block that handles 
            the inner exception.
            </param>
        </member>
        <member name="M:NHibernate.QueryException.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.QueryException"/> class.
            </summary>
            <param name="message">The message that describes the error. </param>
            <param name="queryString">The query that contains the error.</param>
        </member>
        <member name="M:NHibernate.QueryException.#ctor(System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.QueryException"/> class.
            </summary>
            <param name="innerException">
            The exception that is the cause of the current exception. If the innerException parameter 
            is not a null reference, the current exception is raised in a catch block that handles 
            the inner exception.
            </param>
        </member>
        <member name="M:NHibernate.QueryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.QueryException"/> class
            with serialized data.
            </summary>
            <param name="info">
            The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object 
            data about the exception being thrown.
            </param>
            <param name="context">
            The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.
            </param>
        </member>
        <member name="M:NHibernate.QueryException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the serialization info for <see cref="T:NHibernate.QueryException"/> after 
            getting the info from the base Exception.
            </summary>
            <param name="info">
            The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object 
            data about the exception being thrown.
            </param>
            <param name="context">
            The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.
            </param>
        </member>
        <member name="P:NHibernate.QueryException.QueryString">
            <summary>
            Gets or sets the <see cref="T:System.String"/> of HQL that caused the Exception.
            </summary>
        </member>
        <member name="P:NHibernate.QueryException.Message">
            <summary>
            Gets a message that describes the current <see cref="T:NHibernate.QueryException"/>.
            </summary>
            <value>The error message that explains the reason for this exception including the HQL.</value>
        </member>
        <member name="M:NHibernate.Hql.QuerySplitter.ConcreteQueries(System.String,NHibernate.Engine.ISessionFactoryImplementor)">
            <summary>
            Handle Hibernate "implicit" polymorphism, by translating the query string into 
            several "concrete" queries against mapped classes.
            </summary>
            <param name="query"></param>
            <param name="factory"></param>
            <returns></returns>
            <exception cref="T:NHibernate.MappingException"/>
        </member>
        <member name="T:NHibernate.Id.Assigned">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that returns the current identifier
            assigned to an instance.
            </summary>
            <remarks>
            <p>
            This id generation strategy is specified in the mapping file as 
            <code>&lt;generator class="assigned" /&gt;</code>
            </p>
            </remarks>
        </member>
        <member name="T:NHibernate.Id.IIdentifierGenerator">
            <summary>
            The general contract between a class that generates unique
            identifiers and the <see cref="T:NHibernate.ISession"/>.
            </summary>
            <remarks>
            <para>
            It is not intended that this interface ever be exposed to the 
            application.  It <b>is</b> intended that users implement this interface
            to provide custom identifier generation strategies.
            </para>
            <para>
            Implementors should provide a public default constructor.
            </para>
            <para>
            Implementations that accept configuration parameters should also
            implement <see cref="T:NHibernate.Id.IConfigurable"/>.
            </para>
            <para>
            Implementors <b>must</b> be threadsafe.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Id.IIdentifierGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Generate a new identifier
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity for which the id is being generated.</param>
            <returns>The new identifier</returns>
        </member>
        <member name="F:NHibernate.Id.Assigned.Instance">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Id.Assigned.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Generates a new identifier by getting the value of the identifier
            for the <c>obj</c> parameter.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity for which the id is being generated.</param>
            <returns>The value that was assigned to the mapped <c>id</c>'s property.</returns>
            <exception cref="T:NHibernate.Id.IdentifierGenerationException">
            Thrown when a <see cref="T:NHibernate.Collection.IPersistentCollection"/> is passed in as the <c>obj</c> or
            if the identifier of <c>obj</c> is null.
            </exception>
        </member>
        <member name="T:NHibernate.Id.CounterGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that returns a <c>Int64</c> constructed from the system
            time and a counter value. Not safe for use in a clustser!
            </summary>
        </member>
        <member name="T:NHibernate.Id.ForeignGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that uses the value of 
            the id property of an associated object
            </summary>
            <remarks>
            <para>
            This id generation strategy is specified in the mapping file as 
            <code>
            &lt;generator class="foreign"&gt;
            	&lt;param name="property"&gt;AssociatedObject&lt;/param&gt;
            &lt;/generator&gt;
            </code>
            </para>
            The mapping parameter <c>property</c> is required.
            </remarks>
        </member>
        <member name="T:NHibernate.Id.IConfigurable">
            <summary>
            An <c>IdentiferGenerator</c> that supports "configuration".
            </summary>
        </member>
        <member name="M:NHibernate.Id.IConfigurable.Configure(NHibernate.Type.IType,System.Collections.IDictionary,NHibernate.Dialect.Dialect)">
            <summary>
            Configure this instance, given the values of parameters
            specified by the user as <c>&lt;param&gt;</c> elements.
            This method is called just once, followed by instantiation.
            </summary>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> the identifier should be.</param>
            <param name="parms">An <see cref="T:System.Collections.IDictionary"/> of Param values that are keyed by parameter name.</param>
            <param name="d">The <see cref="T:NHibernate.Dialect.Dialect"/> to help with Configuration.</param>
        </member>
        <member name="M:NHibernate.Id.ForeignGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Generates an identifer from the value of a Property. 
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity for which the id is being generated.</param>
            <returns>
            The identifier value from the associated object or  
            <see cref="F:NHibernate.Id.IdentifierGeneratorFactory.ShortCircuitIndicator"/> if the <c>session</c>
            already contains <c>obj</c>.
            </returns>
        </member>
        <member name="M:NHibernate.Id.ForeignGenerator.Configure(NHibernate.Type.IType,System.Collections.IDictionary,NHibernate.Dialect.Dialect)">
            <summary>
            Configures the ForeignGenerator by reading the value of <c>property</c> 
            from the <c>parms</c> parameter.
            </summary>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> the identifier should be.</param>
            <param name="parms">An <see cref="T:System.Collections.IDictionary"/> of Param values that are keyed by parameter name.</param>
            <param name="d">The <see cref="T:NHibernate.Dialect.Dialect"/> to help with Configuration.</param>
            <exception cref="T:NHibernate.MappingException">
            Thrown if the key <c>property</c> is not found in the <c>parms</c> parameter.
            </exception>
        </member>
        <member name="T:NHibernate.Id.GuidCombGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that generates <see cref="T:System.Guid"/> values 
            using a strategy suggested Jimmy Nilsson's 
            <a href="http://www.informit.com/articles/article.asp?p=25862">article</a>
            on <a href="http://www.informit.com">informit.com</a>. 
            </summary>
            <remarks>
            <p>
            This id generation strategy is specified in the mapping file as 
            <code>&lt;generator class="guid.comb" /&gt;</code>
            </p>
            <p>
            The <c>comb</c> algorithm is designed to make the use of GUIDs as Primary Keys, Foreign Keys, 
            and Indexes nearly as efficient as ints.
            </p>
            <p>
            This code was contributed by Donald Mull.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Id.GuidCombGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Generate a new <see cref="T:System.Guid"/> using the comb algorithm.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity for which the id is being generated.</param>
            <returns>The new identifier as a <see cref="T:System.Guid"/>.</returns>
        </member>
        <member name="M:NHibernate.Id.GuidCombGenerator.GenerateComb">
            <summary>
            Generate a new <see cref="T:System.Guid"/> using the comb algorithm.
            </summary>
        </member>
        <member name="T:NHibernate.Id.GuidGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that generates <see cref="T:System.Guid"/> values 
            using <see cref="M:System.Guid.NewGuid">Guid.NewGuid()</see>. 
            </summary>
            <remarks>
            <p>
            This id generation strategy is specified in the mapping file as 
            <code>&lt;generator class="guid" /&gt;</code>
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Id.GuidGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Generate a new <see cref="T:System.Guid"/> for the identifier.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity for which the id is being generated.</param>
            <returns>The new identifier as a <see cref="T:System.Guid"/>.</returns>
        </member>
        <member name="T:NHibernate.Id.IdentifierGenerationException">
            <summary>
            Thrown by <see cref="T:NHibernate.Id.IIdentifierGenerator"/> implementation class when ID generation fails
            </summary>
        </member>
        <member name="M:NHibernate.Id.IdentifierGenerationException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Id.IdentifierGenerationException"/> class.
            </summary>
        </member>
        <member name="M:NHibernate.Id.IdentifierGenerationException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Id.IdentifierGenerationException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:NHibernate.Id.IdentifierGenerationException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Id.IdentifierGenerationException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="e">
            The exception that is the cause of the current exception. If the innerException parameter 
            is not a null reference, the current exception is raised in a catch block that handles 
            the inner exception.
            </param>
        </member>
        <member name="M:NHibernate.Id.IdentifierGenerationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Id.IdentifierGenerationException"/> class
            with serialized data.
            </summary>
            <param name="info">
            The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object 
            data about the exception being thrown.
            </param>
            <param name="context">
            The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.
            </param>
        </member>
        <member name="T:NHibernate.Id.IdentifierGeneratorFactory">
            <summary>
            Factory methods for <c>IdentifierGenerator</c> framework.
            </summary>
            <remarks>
            <p>The built in strategies for identifier generation in NHibernate are:</p>
            <list type="table">
            	<listheader>
            		<term>strategy</term>
            		<description>Implementation of strategy</description>
            	</listheader>
            	<item>
            		<term>assigned</term>
            		<description><see cref="T:NHibernate.Id.Assigned"/></description>
            	</item>
            	<item>
            		<term>counter</term>
            		<description><see cref="T:NHibernate.Id.CounterGenerator"/></description>
            	</item>
            	<item>
            		<term>foreign</term>
            		<description><see cref="T:NHibernate.Id.ForeignGenerator"/></description>
            	</item>
            	<item>
            		<term>guid</term>
            		<description><see cref="T:NHibernate.Id.GuidGenerator"/></description>
            	</item>
            	<item>
            		<term>guid.comb</term>
            		<description><see cref="T:NHibernate.Id.GuidCombGenerator"/></description>
            	</item>
            	<item>
            		<term>hilo</term>
            		<description><see cref="T:NHibernate.Id.TableHiLoGenerator"/></description>
            	</item>
            	<item>
            		<term>identity</term>
            		<description><see cref="T:NHibernate.Id.IdentityGenerator"/></description>
            	</item>
            	<item>
            		<term>native</term>
            		<description>
            			Chooses between <see cref="T:NHibernate.Id.IdentityGenerator"/>, <see cref="T:NHibernate.Id.SequenceGenerator"/>
            			, and <see cref="T:NHibernate.Id.TableHiLoGenerator"/> based on the 
            			<see cref="T:NHibernate.Dialect.Dialect"/>'s capabilities.
            		</description>
            	</item>
            	<item>
            		<term>seqhilo</term>
            		<description><see cref="T:NHibernate.Id.SequenceHiLoGenerator"/></description>
            	</item>
            	<item>
            		<term>sequence</term>
            		<description><see cref="T:NHibernate.Id.SequenceGenerator"/></description>
            	</item>
            	<item>
            		<term>uuid.hex</term>
            		<description><see cref="T:NHibernate.Id.UUIDHexGenerator"/></description>
            	</item>
            	<item>
            		<term>uuid.string</term>
            		<description><see cref="T:NHibernate.Id.UUIDStringGenerator"/></description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:NHibernate.Id.IdentifierGeneratorFactory.Get(System.Data.IDataReader,NHibernate.Type.IType,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Gets the value of the identifier from the <see cref="T:System.Data.IDataReader"/> and
            ensures it is the correct <see cref="T:System.Type"/>.
            </summary>
            <param name="rs">The <see cref="T:System.Data.IDataReader"/> to read the identifier value from.</param>
            <param name="type">The <see cref="T:NHibernate.Type.IIdentifierType"/> the value should be converted to.</param>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> the value is retrieved in.</param>
            <returns>
            The value for the identifier.
            </returns>
            <exception cref="T:NHibernate.Id.IdentifierGenerationException">
            Thrown if there is any problem getting the value from the <see cref="T:System.Data.IDataReader"/>
            or with converting it to the <see cref="T:System.Type"/>.
            </exception>
        </member>
        <member name="F:NHibernate.Id.IdentifierGeneratorFactory.idgenerators">
            <summary>
            An <see cref="T:System.Collections.Hashtable"/> where the <c>key</c> is the strategy and 
            the <c>value</c> is the <see cref="T:System.Type"/> for the strategy.
            </summary>
        </member>
        <member name="F:NHibernate.Id.IdentifierGeneratorFactory.ShortCircuitIndicator">
            <summary>
            When this is returned by <c>Generate()</c> it indicates that the object
            has already been saved.
            </summary>
            <value>
            <see cref="F:System.String.Empty">String.Empty</see>
            </value>
        </member>
        <member name="F:NHibernate.Id.IdentifierGeneratorFactory.IdentityColumnIndicator">
            <summary>
            When this is return
            </summary>
        </member>
        <member name="M:NHibernate.Id.IdentifierGeneratorFactory.#cctor">
            <summary>
            Initializes the static fields in <see cref="T:NHibernate.Id.IdentifierGeneratorFactory"/>.
            </summary>
        </member>
        <member name="M:NHibernate.Id.IdentifierGeneratorFactory.Create(System.String,NHibernate.Type.IType,System.Collections.IDictionary,NHibernate.Dialect.Dialect)">
            <summary>
            Creates an <see cref="T:NHibernate.Id.IIdentifierGenerator"/> from the named strategy.
            </summary>
            <param name="strategy">
            The name of the generator to create.  This can be one of the NHibernate abbreviations (ie - <c>native</c>, 
            <c>sequence</c>, <c>guid.comb</c>, etc...), a full class name if the Type is in the NHibernate assembly, or
            a full type name if the strategy is in an external assembly.
            </param>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> that the retured identifier should be.</param>
            <param name="parms">An <see cref="T:System.Collections.IDictionary"/> of <c>&lt;param&gt;</c> values from the mapping.</param>
            <param name="dialect">The <see cref="T:NHibernate.Dialect.Dialect"/> to help with Configuration.</param>
            <returns>
            An instantiated and configured <see cref="T:NHibernate.Id.IIdentifierGenerator"/>.
            </returns>
            <exception cref="T:NHibernate.MappingException">
            Thrown if there are any exceptions while creating the <see cref="T:NHibernate.Id.IIdentifierGenerator"/>.
            </exception>
        </member>
        <member name="M:NHibernate.Id.IdentifierGeneratorFactory.CreateNumber(System.Int64,System.Type)">
            <summary>
            Create the correct boxed <see cref="T:System.Type"/> for the identifier.
            </summary>
            <param name="value">The value of the new identifier.</param>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> the identifier should be.</param>
            <returns>
            The identifier value converted to the <see cref="T:System.Type"/>.
            </returns>
            <exception cref="T:NHibernate.Id.IdentifierGenerationException">
            The <c>type</c> parameter must be an <see cref="T:System.Int16"/>, <see cref="T:System.Int32"/>,
            or <see cref="T:System.Int64"/>.
            </exception>
        </member>
        <member name="T:NHibernate.Id.IdentityGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that indicates to the <see cref="T:NHibernate.ISession"/> that identity
            (ie. identity/autoincrement column) key generation should be used.
            </summary>
            <remarks>
            <p>
            This id generation strategy is specified in the mapping file as 
            <code>&lt;generator class="identity" /&gt;</code> 
            or if the database natively supports identity columns 
            <code>&lt;generator class="native" /&gt;</code>
            </p>
            <p>
            This indicates to NHibernate that the database generates the id when
            the entity is inserted.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Id.IdentityGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            The IdentityGenerator for autoincrement/identity key generation.
            
            </summary>
            <param name="s">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity the id is being generated for.</param>
            <returns>
            <c>IdentityColumnIndicator</c> Indicates to the Session that identity (i.e. identity/autoincrement column)
            key generation should be used.
            </returns>
        </member>
        <member name="T:NHibernate.Id.IncrementGenerator">
            <summary>
            An <c>IIdentifierGenerator</c> that returns a <c>Int64</c>, constructed by
            counting from the maximum primary key value at startup. Not safe for use in a
            cluster!
            </summary>
            <remarks>
            <para>
            java author Gavin King, .NET port Mark Holden
            </para>
            <para>
            Mapping parameters supported, but not usually needed: table, column.
            </para>
            </remarks>
        </member>
        <member name="T:NHibernate.Id.IPersistentIdentifierGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that requires creation of database objects
            All <see cref="T:NHibernate.Id.IPersistentIdentifierGenerator"/>s that also implement 
            An <see cref="T:NHibernate.Id.IConfigurable"/>  have access to a special mapping parameter: schema
            </summary>
        </member>
        <member name="M:NHibernate.Id.IPersistentIdentifierGenerator.SqlCreateStrings(NHibernate.Dialect.Dialect)">
            <summary>
            The SQL required to create the underlying database objects
            </summary>
            <param name="dialect">The <see cref="T:NHibernate.Dialect.Dialect"/> to help with creating the sql.</param>
            <returns>
            An array of <see cref="T:System.String"/> objects that contain the sql to create the 
            necessary database objects.
            </returns>
        </member>
        <member name="M:NHibernate.Id.IPersistentIdentifierGenerator.SqlDropString(NHibernate.Dialect.Dialect)">
            <summary>
            The SQL required to remove the underlying database objects
            </summary>
            <param name="dialect">The <see cref="T:NHibernate.Dialect.Dialect"/> to help with creating the sql.</param>
            <returns>
            A <see cref="T:System.String"/> that will drop the database objects.
            </returns>
        </member>
        <member name="M:NHibernate.Id.IPersistentIdentifierGenerator.GeneratorKey">
            <summary>
            Return a key unique to the underlying database objects.
            </summary>
            <returns>
            A key unique to the underlying database objects.
            </returns>
            <remarks>
            Prevents us from trying to create/remove them multiple times
            </remarks>
        </member>
        <member name="F:NHibernate.Id.IncrementGenerator.Column">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Id.IncrementGenerator.Table">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Id.IncrementGenerator.Schema">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Id.IncrementGenerator.Configure(NHibernate.Type.IType,System.Collections.IDictionary,NHibernate.Dialect.Dialect)">
             <summary>
            
             </summary>
             <param name="type"></param>
             <param name="parms"></param>
             <param name="d"></param>
        </member>
        <member name="M:NHibernate.Id.IncrementGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
             <summary>
            
             </summary>
             <param name="session"></param>
             <param name="obj"></param>
             <returns></returns>
        </member>
        <member name="M:NHibernate.Id.IncrementGenerator.SqlCreateStrings(NHibernate.Dialect.Dialect)">
             <summary>
            
             </summary>
             <param name="dialect"></param>
             <returns></returns>
        </member>
        <member name="M:NHibernate.Id.IncrementGenerator.SqlDropString(NHibernate.Dialect.Dialect)">
             <summary>
            
             </summary>
             <param name="dialect"></param>
             <returns></returns>
        </member>
        <member name="M:NHibernate.Id.IncrementGenerator.GeneratorKey">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Id.SequenceGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that generates <c>Int64</c> values using an 
            oracle-style sequence. A higher performance algorithm is 
            <see cref="T:NHibernate.Id.SequenceHiLoGenerator"/>.
            </summary>
            <remarks>
            <p>
            This id generation strategy is specified in the mapping file as 
            <code>
            &lt;generator class="sequence"&gt;
            	&lt;param name="sequence"&gt;uid_sequence&lt;/param&gt;
            	&lt;param name="schema"&gt;db_schema&lt;/param&gt;
            &lt;/generator&gt;
            </code>
            </p>
            <p>
            The <c>sequence</c> parameter is required while the <c>schema</c> is optional.
            </p>
            </remarks>
        </member>
        <member name="F:NHibernate.Id.SequenceGenerator.Sequence">
            <summary>
            The name of the sequence parameter.
            </summary>
        </member>
        <member name="F:NHibernate.Id.SequenceGenerator.Schema">
            <summary>
            The name of the schema parameter.
            </summary>
        </member>
        <member name="M:NHibernate.Id.SequenceGenerator.Configure(NHibernate.Type.IType,System.Collections.IDictionary,NHibernate.Dialect.Dialect)">
            <summary>
            Configures the SequenceGenerator by reading the value of <c>sequence</c> and
            <c>schema</c> from the <c>parms</c> parameter.
            </summary>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> the identifier should be.</param>
            <param name="parms">An <see cref="T:System.Collections.IDictionary"/> of Param values that are keyed by parameter name.</param>
            <param name="dialect">The <see cref="T:NHibernate.Dialect.Dialect"/> to help with Configuration.</param>
        </member>
        <member name="M:NHibernate.Id.SequenceGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Generate an <see cref="T:System.Int16"/>, <see cref="T:System.Int32"/>, or <see cref="T:System.Int64"/> 
            for the identifier by using a database sequence.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity for which the id is being generated.</param>
            <returns>The new identifier as a <see cref="T:System.Int16"/>, <see cref="T:System.Int32"/>, or <see cref="T:System.Int64"/>.</returns>
        </member>
        <member name="M:NHibernate.Id.SequenceGenerator.SqlCreateStrings(NHibernate.Dialect.Dialect)">
            <summary>
            The SQL required to create the database objects for a SequenceGenerator.
            </summary>
            <param name="dialect">The <see cref="T:NHibernate.Dialect.Dialect"/> to help with creating the sql.</param>
            <returns>
            An array of <see cref="T:System.String"/> objects that contain the Dialect specific sql to 
            create the necessary database objects for the SequenceGenerator.
            </returns>
        </member>
        <member name="M:NHibernate.Id.SequenceGenerator.SqlDropString(NHibernate.Dialect.Dialect)">
            <summary>
            The SQL required to remove the underlying database objects for a SequenceGenerator.
            </summary>
            <param name="dialect">The <see cref="T:NHibernate.Dialect.Dialect"/> to help with creating the sql.</param>
            <returns>
            A <see cref="T:System.String"/> that will drop the database objects for the SequenceGenerator.
            </returns>
        </member>
        <member name="M:NHibernate.Id.SequenceGenerator.GeneratorKey">
            <summary>
            Return a key unique to the underlying database objects for a SequenceGenerator.
            </summary>
            <returns>
            The configured sequence name.
            </returns>
        </member>
        <member name="T:NHibernate.Id.SequenceHiLoGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that combines a hi/lo algorithm with an underlying
            oracle-style sequence that generates hi values.
            </summary>
            <remarks>
            <p>
            This id generation strategy is specified in the mapping file as 
            <code>
            &lt;generator class="seqhilo"&gt;
            	&lt;param name="sequence"&gt;uid_sequence&lt;/param&gt;
            	&lt;param name="max_lo"&gt;max_lo_value&lt;/param&gt;
            	&lt;param name="schema"&gt;db_schema&lt;/param&gt;
            &lt;/generator&gt;
            </code>
            </p>
            <p>
            The <c>sequence</c> parameter is required, the <c>max_lo</c> and <c>schema</c> are optional.
            </p>
            <p>
            The user may specify a <c>max_lo</c> value to determine how often new hi values are
            fetched. If sequences are not avaliable, <c>TableHiLoGenerator</c> might be an
            alternative.
            </p>
            </remarks>
        </member>
        <member name="F:NHibernate.Id.SequenceHiLoGenerator.MaxLo">
            <summary>
            The name of the maximum low value parameter.
            </summary>
        </member>
        <member name="M:NHibernate.Id.SequenceHiLoGenerator.Configure(NHibernate.Type.IType,System.Collections.IDictionary,NHibernate.Dialect.Dialect)">
            <summary>
            Configures the SequenceHiLoGenerator by reading the value of <c>sequence</c>, <c>max_lo</c>, 
            and <c>schema</c> from the <c>parms</c> parameter.
            </summary>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> the identifier should be.</param>
            <param name="parms">An <see cref="T:System.Collections.IDictionary"/> of Param values that are keyed by parameter name.</param>
            <param name="dialect">The <see cref="T:NHibernate.Dialect.Dialect"/> to help with Configuration.</param>
        </member>
        <member name="M:NHibernate.Id.SequenceHiLoGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Generate an <see cref="T:System.Int16"/>, <see cref="T:System.Int32"/>, or <see cref="T:System.Int64"/> 
            for the identifier by using a database sequence.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity for which the id is being generated.</param>
            <returns>The new identifier as a <see cref="T:System.Int16"/>, <see cref="T:System.Int32"/>, or <see cref="T:System.Int64"/>.</returns>
        </member>
        <member name="T:NHibernate.Id.TableGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that uses a database table to store the last
            generated value.
            </summary>
            <remarks>
            <p>
            It is not intended that applications use this strategy directly. However,
            it may be used to build other (efficient) strategies. The return type is
            <c>System.Int32</c>
            </p>
            <p>
            The hi value MUST be fetched in a seperate transaction to the <c>ISession</c>
            transaction so the generator must be able to obtain a new connection and commit it.
            Hence this implementation may not be used when the user is supplying connections.
            </p>
            <p>
            The mapping parameters <c>table</c> and <c>column</c> are required.
            </p>
            </remarks>
        </member>
        <member name="F:NHibernate.Id.TableGenerator.Column">
            <summary>
            The name of the column parameter.
            </summary>
        </member>
        <member name="F:NHibernate.Id.TableGenerator.Table">
            <summary>
            The name of the table parameter.
            </summary>
        </member>
        <member name="F:NHibernate.Id.TableGenerator.Schema">
            <summary>
            The name of the schema parameter.
            </summary>
        </member>
        <member name="M:NHibernate.Id.TableGenerator.Configure(NHibernate.Type.IType,System.Collections.IDictionary,NHibernate.Dialect.Dialect)">
            <summary>
            Configures the TableGenerator by reading the value of <c>table</c>, 
            <c>column</c>, and <c>schema</c> from the <c>parms</c> parameter.
            </summary>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> the identifier should be.</param>
            <param name="parms">An <see cref="T:System.Collections.IDictionary"/> of Param values that are keyed by parameter name.</param>
            <param name="dialect">The <see cref="N:NHibernate.Dialect"/> to help with Configuration.</param>
        </member>
        <member name="M:NHibernate.Id.TableGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Generate a <see cref="T:System.Int16"/>, <see cref="T:System.Int32"/>, or <see cref="T:System.Int64"/> 
            for the identifier by selecting and updating a value in a table.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity for which the id is being generated.</param>
            <returns>The new identifier as a <see cref="T:System.Int16"/>, <see cref="T:System.Int32"/>, or <see cref="T:System.Int64"/>.</returns>
        </member>
        <member name="M:NHibernate.Id.TableGenerator.SqlCreateStrings(NHibernate.Dialect.Dialect)">
            <summary>
            The SQL required to create the database objects for a TableGenerator.
            </summary>
            <param name="dialect">The <see cref="N:NHibernate.Dialect"/> to help with creating the sql.</param>
            <returns>
            An array of <see cref="T:System.String"/> objects that contain the Dialect specific sql to 
            create the necessary database objects and to create the first value as <c>1</c> 
            for the TableGenerator.
            </returns>
        </member>
        <member name="M:NHibernate.Id.TableGenerator.SqlDropString(NHibernate.Dialect.Dialect)">
            <summary>
            The SQL required to remove the underlying database objects for a TableGenerator.
            </summary>
            <param name="dialect">The <see cref="N:NHibernate.Dialect"/> to help with creating the sql.</param>
            <returns>
            A <see cref="T:System.String"/> that will drop the database objects for the TableGenerator.
            </returns>
        </member>
        <member name="M:NHibernate.Id.TableGenerator.GeneratorKey">
            <summary>
            Return a key unique to the underlying database objects for a TableGenerator.
            </summary>
            <returns>
            The configured table name.
            </returns>
        </member>
        <member name="T:NHibernate.Id.TableHiLoGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that returns an <c>Int64</c>, constructed using
            a hi/lo algorithm.
            </summary>
            <remarks>
            <p>
            This id generation strategy is specified in the mapping file as 
            <code>
            &lt;generator class="hilo"&gt;
            	&lt;param name="table"&gt;table&lt;/param&gt;
            	&lt;param name="column"&gt;id_column&lt;/param&gt;
            	&lt;param name="max_lo"&gt;max_lo_value&lt;/param&gt;
            	&lt;param name="schema"&gt;db_schema&lt;/param&gt;
            &lt;/generator&gt;
            </code>
            </p>
            <p>
            The <c>table</c> and <c>column</c> parameters are required, the <c>max_lo</c> and 
            <c>schema</c> are optional.
            </p>
            <p>
            The hi value MUST be fecthed in a seperate transaction to the <c>ISession</c>
            transaction so the generator must be able to obtain a new connection and 
            commit it. Hence this implementation may not be used when the user is supplying
            connections.  In that case a <see cref="T:NHibernate.Id.SequenceHiLoGenerator"/> would be a 
            better choice (where supported).
            </p>
            </remarks>
        </member>
        <member name="F:NHibernate.Id.TableHiLoGenerator.MaxLo">
            <summary>
            The name of the max lo parameter.
            </summary>
        </member>
        <member name="M:NHibernate.Id.TableHiLoGenerator.Configure(NHibernate.Type.IType,System.Collections.IDictionary,NHibernate.Dialect.Dialect)">
            <summary>
            Configures the TableHiLoGenerator by reading the value of <c>table</c>, 
            <c>column</c>, <c>max_lo</c>, and <c>schema</c> from the <c>parms</c> parameter.
            </summary>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> the identifier should be.</param>
            <param name="parms">An <see cref="T:System.Collections.IDictionary"/> of Param values that are keyed by parameter name.</param>
            <param name="dialect">The <see cref="T:NHibernate.Dialect.Dialect"/> to help with Configuration.</param>
        </member>
        <member name="M:NHibernate.Id.TableHiLoGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Generate a <see cref="T:System.Int16"/>, <see cref="T:System.Int32"/>, or <see cref="T:System.Int64"/> 
            for the identifier by selecting and updating a value in a table.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity for which the id is being generated.</param>
            <returns>The new identifier as a <see cref="T:System.Int16"/>, <see cref="T:System.Int32"/>, or <see cref="T:System.Int64"/>.</returns>
        </member>
        <member name="T:NHibernate.Id.UUIDHexGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that returns a string of length
            32, 36, or 38 depending on the configuration.  
            </summary>
            <remarks>
            <p>
            This id generation strategy is specified in the mapping file as 
            <code>
            &lt;generator class="uuid.hex"&gt;
            	&lt;param name="format"&gt;format_string&lt;/param&gt;
            	&lt;param name="seperator"&gt;seperator_string&lt;/param&gt;
            &lt;/generator&gt;
            </code>
            </p>
            <p>
            The <c>format</c> and <c>seperator</c> parameters are optional.
            </p>
            <p>
            The identifier string will consist of only hex digits.  Optionally, the identifier string
            may be generated with enclosing characters and seperators between each component 
            of the UUID.  If there are seperators then the string length will be 36.  If a format
            that has enclosing brackets is used, then the string length will be 38.
            </p>
            <p>
            <c>format</c> is either 
            "N" (<c>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</c>), 
            "D" (<c>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</c>), 
            "B" (<c>{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}</c>), 
            or "P" (<c>(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)</c>).  These formats are described in
            the <see cref="M:System.Guid.ToString(System.String)">Guid.ToString(String)</see> method.
            If no <c>format</c> is specified the default is "N".
            </p>
            <p>
            <c>seperator</c> is the char that will replace the "-" if specified.  If no value is
            configured then the default seperator for the format will be used.  If the format "D", "B", or
            "P" is specified, then the seperator will replace the "-".  If the format is "N" then this
            parameter will be ignored.
            </p>
            <p>
            This class is based on <see cref="T:System.Guid"/>
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.Id.UUIDHexGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Generate a new <see cref="T:System.String"/> for the identifier using the "uuid.hex" algorithm.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity for which the id is being generated.</param>
            <returns>The new identifier as a <see cref="T:System.String"/>.</returns>
        </member>
        <member name="M:NHibernate.Id.UUIDHexGenerator.Configure(NHibernate.Type.IType,System.Collections.IDictionary,NHibernate.Dialect.Dialect)">
            <summary>
            Configures the UUIDHexGenerator by reading the value of <c>format</c> and
            <c>seperator</c> from the <c>parms</c> parameter.
            </summary>
            <param name="type">The <see cref="T:NHibernate.Type.IType"/> the identifier should be.</param>
            <param name="parms">An <see cref="T:System.Collections.IDictionary"/> of Param values that are keyed by parameter name.</param>
            <param name="dialect">The <see cref="T:NHibernate.Dialect.Dialect"/> to help with Configuration.</param>
        </member>
        <member name="T:NHibernate.Id.UUIDStringGenerator">
            <summary>
            An <see cref="T:NHibernate.Id.IIdentifierGenerator"/> that returns a string of length
            16.  
            </summary>
            <remarks>
            <p>
            This id generation strategy is specified in the mapping file as 
            <code>&lt;generator class="uuid.string" /&gt;</code>
            </p>
            <para>
            The identifier string will NOT consist of only alphanumeric characters.  Use
            this only if you don't mind unreadable identifiers.
            </para>
            <para>
            This impelementation was known to be incompatible with Postgres.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Id.UUIDStringGenerator.Generate(NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
            Generate a new <see cref="T:System.String"/> for the identifier using the "uuid.string" algorithm.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> this id is being generated in.</param>
            <param name="obj">The entity for which the id is being generated.</param>
            <returns>The new identifier as a <see cref="T:System.String"/>.</returns>
        </member>
        <member name="T:NHibernate.Impl.AbstractQueryImpl">
            <summary>
            Abstract implementation of the IQuery interface.
            </summary>
        </member>
        <member name="T:NHibernate.IQuery">
            <summary>
            An object-oriented representation of a NHibernate query.
            </summary>
            <remarks>
            An <c>IQuery</c> instance is obtained by calling <c>ISession.CreateQuery()</c>. This interface
            exposes some extra functionality beyond that provided by <c>ISession.Iterate()</c> and
            <c>ISession.Find()</c>;
            <list>
            	<item>
            		A particulare page of the result set may be selected by calling 
            		<c>SetMaxResults()</c>, <c>SetFirstResult()</c>.  The generated sql
            		depends on the capabilities of the <see cref="T:NHibernate.Dialect.Dialect"/>.  Some
            		Dialects are for databases that have built in paging (LIMIT) and those capabilities
            		will be used to limit the number of records returned by the sql statement. 
            		If the database does not support LIMITs then all of the records will be returned,
            		but the objects created will be limited to the specific results requested.
            	</item>
            	<item>Named query parameters may be used</item>
            </list>
            <para>
            Named query parameters are tokens of the form <c>:name</c> in the query string. A value is bound
            to the <c>Int32</c> parameter <c>:foo</c> by calling
            <code>
            	SetParameter("foo", foo, NHibernateUtil.Int32);
            </code>
            for example. A name may appear multiple times in the query string.
            </para>
            <para>
            Unnamed parameters <c>?</c> are also supported. To bind a value to an unnamed
            parameter use a Set method that accepts an <c>Int32</c> positional argument - numbered from
            zero.
            </para>
            <para>
            You may not mix and match unnamed parameters and named parameters in the same query.
            </para>
            <para>
            Queries are executed by calling <c>List()</c> or <c>Iterate()</c>. A query
            may be re-executed by subsequent invocations. Its lifespan is, however, bounded by the lifespan
            of the <c>ISession</c> that created it.
            </para>
            <para>
            Implementors are not intended to be threadsafe.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.IQuery.Enumerable">
            <summary>
            Return the query results as an <see cref="T:System.Collections.IEnumerable"/>. If the query contains multiple results
            per row, the results are returned in an instance of <c>object[]</c>.
            </summary>
            <remarks>
            <p>
            Entities returned as results are initialized on demand. The first SQL query returns
            identifiers only.  
            </p>
            <p>
            This is a good strategy to use if you expect a high number of the objects
            returned to be already loaded in the <see cref="T:NHibernate.ISession"/> or in the 2nd level cache.
            </p>
            </remarks>
        </member>
        <member name="M:NHibernate.IQuery.Enumerable``1">
            <summary>
            Strongly-typed version of <see cref="M:NHibernate.IQuery.Enumerable"/>.
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:NHibernate.IQuery.List">
            <summary>
            Return the query results as an <see cref="T:System.Collections.IList"/>. If the query contains multiple results per row,
            the results are returned in an instance of <c>object[]</c>.
            </summary>
            <returns>The <see cref="T:System.Collections.IList"/> filled with the results.</returns>
            <remarks>
            This is a good strategy to use if you expect few of the objects being returned are already loaded
            or if you want to fill the 2nd level cache.
            </remarks>
        </member>
        <member name="M:NHibernate.IQuery.List(System.Collections.IList)">
            <summary>
            Return the query results an place them into the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="results">The <see cref="T:System.Collections.IList"/> to place the results in.</param>
        </member>
        <member name="M:NHibernate.IQuery.List``1">
            <summary>
            Strongly-typed version of <see cref="M:NHibernate.IQuery.List"/>.
            </summary>
        </member>
        <member name="M:NHibernate.IQuery.UniqueResult">
            <summary>
            Convenience method to return a single instance that matches
            the query, or null if the query returns no results.
            </summary>
            <returns>the single result or <c>null</c></returns>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when there is more than one matching result.
            </exception>
        </member>
        <member name="M:NHibernate.IQuery.UniqueResult``1">
            <summary>
            Strongly-typed version of <see cref="M:NHibernate.IQuery.UniqueResult"/>.
            </summary>
        </member>
        <member name="M:NHibernate.IQuery.SetMaxResults(System.Int32)">
            <summary>
            Set the maximum number of rows to retrieve.
            </summary>
            <param name="maxResults">The maximum number of rows to retreive.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetFirstResult(System.Int32)">
            <summary>
            Sets the first row to retrieve.
            </summary>
            <param name="firstResult">The first row to retreive.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetCacheable(System.Boolean)">
            <summary>
            Enable caching of this query result set.
            </summary>
            <param name="cacheable">Should the query results be cacheable?</param>
        </member>
        <member name="M:NHibernate.IQuery.SetCacheRegion(System.String)">
            Set the name of the cache region.
            <param name="cacheRegion">The name of a query cache region, or <c>null</c>
            for the default query cache</param>
        </member>
        <member name="M:NHibernate.IQuery.SetForceCacheRefresh(System.Boolean)">
            Should the query force a refresh of the specified query cache region?
            This is particularly useful in cases where underlying data may have been
            updated via a seperate process (i.e., not modified through Hibernate) and
            allows the application to selectively refresh the query cache regions
            based on its knowledge of those events.
            <param name="forceCacheRefresh">Should the query result in a forceable refresh of
            the query cache?</param>
        </member>
        <member name="M:NHibernate.IQuery.SetTimeout(System.Int32)">
            <summary>
            The timeout for the underlying ADO query
            </summary>
            <param name="timeout"></param>
        </member>
        <member name="M:NHibernate.IQuery.SetLockMode(System.String,NHibernate.LockMode)">
            <summary>
            Set the lockmode for the objects idententified by the
            given alias that appears in the <c>FROM</c> clause.
            </summary>
            <param name="alias">alias a query alias, or <c>this</c> for a collection filter</param>
            <param name="lockMode"></param>
        </member>
        <member name="M:NHibernate.IQuery.SetParameter(System.Int32,System.Object,NHibernate.Type.IType)">
            <summary>
            Bind a value to an indexed parameter.
            </summary>
            <param name="position">Postion of the parameter in the query, numbered from <c>0</c></param>
            <param name="val">The possibly null parameter value</param>
            <param name="type">The Hibernate type</param>
        </member>
        <member name="M:NHibernate.IQuery.SetParameter(System.String,System.Object,NHibernate.Type.IType)">
            <summary>
            Bind a value to a named query parameter
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">The possibly null parameter value</param>
            <param name="type">The NHibernate <see cref="T:NHibernate.Type.IType"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetParameter(System.Int32,System.Object)">
            <summary>
            Bind a value to an indexed parameter, guessing the Hibernate type from
            the class of the given object.
            </summary>
            <param name="position">The position of the parameter in the query, numbered from <c>0</c></param>
            <param name="val">The non-null parameter value</param>
        </member>
        <member name="M:NHibernate.IQuery.SetParameter(System.String,System.Object)">
            <summary>
            Bind a value to a named query parameter, guessing the NHibernate <see cref="T:NHibernate.Type.IType"/>
            from the class of the given object.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">The non-null parameter value</param>
        </member>
        <member name="M:NHibernate.IQuery.SetParameterList(System.String,System.Collections.IEnumerable,NHibernate.Type.IType)">
            <summary>
            Bind multiple values to a named query parameter. This is useful for binding a list
            of values to an expression such as <c>foo.bar in (:value_list)</c>
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="vals">A collection of values to list</param>
            <param name="type">The Hibernate type of the values</param>
        </member>
        <member name="M:NHibernate.IQuery.SetParameterList(System.String,System.Collections.IEnumerable)">
            <summary>
            Bind multiple values to a named query parameter, guessing the Hibernate
            type from the class of the first object in the collection. This is useful for binding a list
            of values to an expression such as <c>foo.bar in (:value_list)</c>
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="vals">A collection of values to list</param>
        </member>
        <member name="M:NHibernate.IQuery.SetProperties(System.Object)">
            <summary>
            Bind the property values of the given object to named paramters of the query,
            matching property names with parameter names and mapping property types to
            Hibernate types using hueristics.
            </summary>
            <param name="obj">Any PONO</param>
        </member>
        <member name="M:NHibernate.IQuery.SetAnsiString(System.Int32,System.String)">
            <summary>
            Bind an instance of a <see cref="T:System.String"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.AnsiStringType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.String"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetAnsiString(System.String,System.String)">
            <summary>
            Bind an instance of a <see cref="T:System.String"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.AnsiStringType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.String"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetBinary(System.Int32,System.Byte[])">
            <summary>
            Bind an instance of a <see cref="T:System.Byte"/> array to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.BinaryType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.Byte"/> array.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetBinary(System.String,System.Byte[])">
            <summary>
            Bind an instance of a <see cref="T:System.Byte"/> array to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.BinaryType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Byte"/> array.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetBoolean(System.Int32,System.Boolean)">
            <summary>
            Bind an instance of a <see cref="T:System.Boolean"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.BooleanType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.Boolean"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetBoolean(System.String,System.Boolean)">
            <summary>
            Bind an instance of a <see cref="T:System.Boolean"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.BooleanType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Boolean"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetByte(System.Int32,System.Byte)">
            <summary>
            Bind an instance of a <see cref="T:System.Byte"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.ByteType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.Byte"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetByte(System.String,System.Byte)">
            <summary>
            Bind an instance of a <see cref="T:System.Byte"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.ByteType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Byte"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetCharacter(System.Int32,System.Char)">
            <summary>
            Bind an instance of a <see cref="T:System.Char"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.CharType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.Char"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetCharacter(System.String,System.Char)">
            <summary>
            Bind an instance of a <see cref="T:System.Char"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.CharType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Char"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetDateTime(System.Int32,System.DateTime)">
            <summary>
            Bind an instance of a <see cref="T:System.DateTime"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.DateTimeType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.DateTime"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetDateTime(System.String,System.DateTime)">
            <summary>
            Bind an instance of a <see cref="T:System.DateTime"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.DateTimeType"/>.
            </summary>
            <param name="val">A non-null instance of a <see cref="T:System.DateTime"/>.</param>
            <param name="name">The name of the parameter</param>
        </member>
        <member name="M:NHibernate.IQuery.SetDecimal(System.Int32,System.Decimal)">
            <summary>
            Bind an instance of a <see cref="T:System.Decimal"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.DecimalType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.Decimal"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetDecimal(System.String,System.Decimal)">
            <summary>
            Bind an instance of a <see cref="T:System.Decimal"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.DecimalType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Decimal"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetDouble(System.Int32,System.Double)">
            <summary>
            Bind an instance of a <see cref="T:System.Double"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.DoubleType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.Double"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetDouble(System.String,System.Double)">
            <summary>
            Bind an instance of a <see cref="T:System.Double"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.DoubleType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Double"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetEntity(System.Int32,System.Object)">
            <summary>
            Bind an instance of a mapped persistent class to an indexed parameter.
            </summary>
            <param name="position">Position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a persistent class</param>
        </member>
        <member name="M:NHibernate.IQuery.SetEntity(System.String,System.Object)">
            <summary>
            Bind an instance of a mapped persistent class to a named parameter.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a persistent class</param>
        </member>
        <member name="M:NHibernate.IQuery.SetEnum(System.Int32,System.Enum)">
            <summary>
            Bind an instance of a persistent enumeration class to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.PersistentEnumType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a persistent enumeration</param>
        </member>
        <member name="M:NHibernate.IQuery.SetEnum(System.String,System.Enum)">
            <summary>
            Bind an instance of a persistent enumeration class to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.PersistentEnumType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a persistent enumeration</param>
        </member>
        <member name="M:NHibernate.IQuery.SetInt16(System.Int32,System.Int16)">
            <summary>
            Bind an instance of a <see cref="T:System.Int16"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.Int16Type"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.Int16"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetInt16(System.String,System.Int16)">
            <summary>
            Bind an instance of a <see cref="T:System.Int16"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.Int16Type"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Int16"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetInt32(System.Int32,System.Int32)">
            <summary>
            Bind an instance of a <see cref="T:System.Int32"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.Int32Type"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.Int32"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetInt32(System.String,System.Int32)">
            <summary>
            Bind an instance of a <see cref="T:System.Int32"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.Int32Type"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Int32"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetInt64(System.Int32,System.Int64)">
            <summary>
            Bind an instance of a <see cref="T:System.Int64"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.Int64Type"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.Int64"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetInt64(System.String,System.Int64)">
            <summary>
            Bind an instance of a <see cref="T:System.Int64"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.Int64Type"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Int64"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetSingle(System.Int32,System.Single)">
            <summary>
            Bind an instance of a <see cref="T:System.Single"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.SingleType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.Single"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetSingle(System.String,System.Single)">
            <summary>
            Bind an instance of a <see cref="T:System.Single"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.SingleType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Single"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetString(System.Int32,System.String)">
            <summary>
            Bind an instance of a <see cref="T:System.String"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.StringType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.String"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetString(System.String,System.String)">
            <summary>
            Bind an instance of a <see cref="T:System.String"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.StringType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.String"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetTime(System.Int32,System.DateTime)">
            <summary>
            Bind an instance of a <see cref="T:System.DateTime"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.DateTimeType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.DateTime"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetTime(System.String,System.DateTime)">
            <summary>
            Bind an instance of a <see cref="T:System.DateTime"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.DateTimeType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.DateTime"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetTimestamp(System.Int32,System.DateTime)">
            <summary>
            Bind an instance of a <see cref="T:System.DateTime"/> to an indexed parameter
            using an NHibernate <see cref="T:NHibernate.Type.TimestampType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">A non-null instance of a <see cref="T:System.DateTime"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetTimestamp(System.String,System.DateTime)">
            <summary>
            Bind an instance of a <see cref="T:System.DateTime"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.TimestampType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.DateTime"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetGuid(System.Int32,System.Guid)">
            <summary>
            Bind an instance of a <see cref="T:System.Guid"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.GuidType"/>.
            </summary>
            <param name="position">The position of the parameter in the query string, numbered from <c>0</c></param>
            <param name="val">An instance of a <see cref="T:System.Guid"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetGuid(System.String,System.Guid)">
            <summary>
            Bind an instance of a <see cref="T:System.Guid"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.GuidType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">An instance of a <see cref="T:System.Guid"/>.</param>
        </member>
        <member name="M:NHibernate.IQuery.SetFlushMode(NHibernate.FlushMode)">
            <summary>
            Override the current session flush mode, just for this query.
            </summary>
        </member>
        <member name="M:NHibernate.IQuery.SetResultTransformer(NHibernate.Transform.IResultTransformer)">
            <summary>
            Set a strategy for handling the query results. This can be used to change
            "shape" of the query result.
            </summary>
        </member>
        <member name="P:NHibernate.IQuery.QueryString">
            <summary>
            The query string
            </summary>
        </member>
        <member name="P:NHibernate.IQuery.ReturnTypes">
            <summary>
            The Hibernate types of the query result set.
            </summary>
        </member>
        <member name="P:NHibernate.IQuery.NamedParameters">
            <summary>
            The names of all named parameters of the query
            </summary>
            <value>The parameter names, in no particular order</value>
        </member>
        <member name="M:NHibernate.Impl.AbstractQueryImpl.GuessType(System.Object)">
            <summary>
            Guesses the <see cref="T:NHibernate.Type.IType"/> from the <c>param</c>'s value.
            </summary>
            <param name="param">The object to guess the <see cref="T:NHibernate.Type.IType"/> of.</param>
            <returns>An <see cref="T:NHibernate.Type.IType"/> for the object.</returns>
            <exception cref="T:System.ArgumentNullException">
            Thrown when the <c>param</c> is null because the <see cref="T:NHibernate.Type.IType"/>
            can't be guess from a null value.
            </exception>
        </member>
        <member name="M:NHibernate.Impl.AbstractQueryImpl.GuessType(System.Type)">
            <summary>
            Guesses the <see cref="T:NHibernate.Type.IType"/> from the <see cref="T:System.Type"/>.
            </summary>
            <param name="clazz">The <see cref="T:System.Type"/> to guess the <see cref="T:NHibernate.Type.IType"/> of.</param>
            <returns>An <see cref="T:NHibernate.Type.IType"/> for the <see cref="T:System.Type"/>.</returns>
            <exception cref="T:System.ArgumentNullException">
            Thrown when the <c>clazz</c> is null because the <see cref="T:NHibernate.Type.IType"/>
            can't be guess from a null type.
            </exception>
        </member>
        <member name="T:NHibernate.Impl.AbstractVisitor">
            <summary>
            Abstract superclass of algorithms that walk a tree of property values
            of an entity, and perform specific functionality for collections,
            components and associated entities.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.AbstractVisitor.ProcessValues(System.Object[],NHibernate.Type.IType[])">
            <summary>
            Dispatch each property value to <see cref="M:NHibernate.Impl.AbstractVisitor.ProcessValue(System.Object,NHibernate.Type.IType)"/>.
            </summary>
            <param name="values"></param>
            <param name="types"></param>
        </member>
        <member name="M:NHibernate.Impl.AbstractVisitor.ProcessValue(System.Object,NHibernate.Type.IType)">
            <summary>
            Visit a property value. Dispatch to the correct handler
            for the property type.
            </summary>
            <param name="value"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.AbstractVisitor.Process(System.Object,NHibernate.Persister.Entity.IEntityPersister)">
            <summary>
            Walk the tree starting from the given entity.
            </summary>
            <param name="obj"></param>
            <param name="persister"></param>
        </member>
        <member name="M:NHibernate.Impl.AbstractVisitor.ProcessCollection(System.Object,NHibernate.Type.CollectionType)">
            <summary>
            Visit a collection. Default superclass implementation is a no-op.
            </summary>
            <param name="collection"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.AbstractVisitor.ProcessEntity(System.Object,NHibernate.Type.EntityType)">
            <summary>
            Visit a many-to-one or one-to-one associated entity. Default
            superclass implementation is a no-op.
            </summary>
            <param name="value"></param>
            <param name="entityType"></param>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Impl.BatcherImpl">
            <summary>
            Manages prepared statements and batching. Class exists to enforce separation of concerns
            </summary>
        </member>
        <member name="M:NHibernate.Impl.BatcherImpl.#ctor(NHibernate.Impl.ConnectionManager)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Impl.BatcherImpl"/> class.
            </summary>
            <param name="connectionManager">The <see cref="P:NHibernate.Impl.BatcherImpl.ConnectionManager"/> owning this batcher.</param>
        </member>
        <member name="M:NHibernate.Impl.BatcherImpl.Prepare(System.Data.IDbCommand)">
            <summary>
            Prepares the <see cref="T:System.Data.IDbCommand"/> for execution in the database.
            </summary>
            <remarks>
            This takes care of hooking the <see cref="T:System.Data.IDbCommand"/> up to an <see cref="T:System.Data.IDbConnection"/>
            and <see cref="T:System.Data.IDbTransaction"/> if one exists.  It will call <c>Prepare</c> if the Driver
            supports preparing commands.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.BatcherImpl.CheckReaders">
            <summary>
            Ensures that the Driver's rules for Multiple Open DataReaders are being followed.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.BatcherImpl.ExecuteBatch">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Impl.BatcherImpl.DoExecuteBatch(System.Data.IDbCommand)">
            <summary>
            
            </summary>
            <param name="ps"></param>
        </member>
        <member name="M:NHibernate.Impl.BatcherImpl.AddToBatch(NHibernate.AdoNet.IExpectation)">
            <summary>
            Adds the expected row count into the batch.
            </summary>
            <param name="expectation">The number of rows expected to be affected by the query.</param>
            <remarks>
            If Batching is not supported, then this is when the Command should be executed.  If Batching
            is supported then it should hold of on executing the batch until explicitly told to.
            </remarks>
        </member>
        <member name="F:NHibernate.Impl.BatcherImpl._isAlreadyDisposed">
            <summary>
            A flag to indicate if <c>Disose()</c> has been called.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.BatcherImpl.Finalize">
            <summary>
            Finalizer that ensures the object is correctly disposed of.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.BatcherImpl.Dispose">
            <summary>
            Takes care of freeing the managed and unmanaged resources that 
            this class is responsible for.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.BatcherImpl.Dispose(System.Boolean)">
            <summary>
            Takes care of freeing the managed and unmanaged resources that 
            this class is responsible for.
            </summary>
            <param name="isDisposing">Indicates if this BatcherImpl is being Disposed of or Finalized.</param>
            <remarks>
            If this BatcherImpl is being Finalized (<c>isDisposing==false</c>) then make sure not
            to call any methods that could potentially bring this BatcherImpl back to life.
            </remarks>
        </member>
        <member name="P:NHibernate.Impl.BatcherImpl.CurrentCommand">
            <summary>
            Gets the current <see cref="T:System.Data.IDbCommand"/> that is contained for this Batch
            </summary>
            <value>The current <see cref="T:System.Data.IDbCommand"/>.</value>
        </member>
        <member name="P:NHibernate.Impl.BatcherImpl.Factory">
            <summary>
            Gets the <see cref="T:NHibernate.Engine.ISessionFactoryImplementor"/> the Batcher was
            created in.
            </summary>
            <value>
            The <see cref="T:NHibernate.Engine.ISessionFactoryImplementor"/> the Batcher was
            created in.
            </value>
        </member>
        <member name="P:NHibernate.Impl.BatcherImpl.ConnectionManager">
            <summary>
            Gets the <see cref="P:NHibernate.Impl.BatcherImpl.ConnectionManager"/> for this batcher.
            </summary>
        </member>
        <member name="T:NHibernate.Impl.CacheEntry">
            <summary>
            A cached instance of a persistent class
            </summary>
        </member>
        <member name="M:NHibernate.Impl.CacheEntry.#ctor(System.Object,NHibernate.Persister.Entity.IEntityPersister,NHibernate.Engine.ISessionImplementor)">
            <summary>
            
            </summary>
            <param name="obj"></param>
            <param name="persister"></param>
            <param name="session"></param>
        </member>
        <member name="M:NHibernate.Impl.CacheEntry.Disassemble(System.Object,NHibernate.Persister.Entity.IEntityPersister,NHibernate.Engine.ISessionImplementor)">
            <summary>
            
            </summary>
            <param name="obj"></param>
            <param name="persister"></param>
            <param name="session"></param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Impl.CacheEntry.Subclass">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Impl.CollectionEntry">
            <summary>
            We need an entry to tell us all about the current state
            of a collection with respect to its persistent state
            </summary>
        </member>
        <member name="F:NHibernate.Impl.CollectionEntry.reached">
            <summary>
            Indicates that the Collection can still be reached by an Entity
            that exist in the <see cref="T:NHibernate.ISession"/>.
            </summary>
            <remarks>
            It is also used to ensure that the Collection is not shared between
            two Entities.  
            </remarks>
        </member>
        <member name="F:NHibernate.Impl.CollectionEntry.processed">
            <summary>
            Indicates that the Collection has been processed and is ready
            to have its state synchronized with the database.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.CollectionEntry.doupdate">
            <summary>
            Indicates that a Collection needs to be updated.
            </summary>
            <remarks>
            A Collection needs to be updated whenever the contents of the Collection
            have been changed. 
            </remarks>
        </member>
        <member name="F:NHibernate.Impl.CollectionEntry.doremove">
            <summary>
            Indicates that a Collection has old elements that need to be removed.
            </summary>
            <remarks>
            A Collection needs to have removals performed whenever its role changes or
            the key changes and it has a loadedPersister - ie - it was loaded by NHibernate.
            </remarks>
        </member>
        <member name="F:NHibernate.Impl.CollectionEntry.dorecreate">
            <summary>
            Indicates that a Collection needs to be recreated.
            </summary>
            <remarks>
            A Collection needs to be recreated whenever its role changes
            or the owner changes.
            </remarks>
        </member>
        <member name="F:NHibernate.Impl.CollectionEntry.ignore">
            <summary>
            If we instantiate a collection during the <see cref="M:NHibernate.ISession.Flush"/>
            process, we must ignore it for the rest of the flush.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.CollectionEntry.currentPersister">
            <summary>
            The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> that is currently responsible
            for the Collection.
            </summary>
            <remarks>
            This is set when NHibernate is updating a reachable or an
            unreachable collection.
            </remarks>
        </member>
        <member name="F:NHibernate.Impl.CollectionEntry.loadedPersister">
            <summary>
            The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> when the Collection was loaded.
            </summary>
            <remarks>
            This can be <c>null</c> if the Collection was not loaded by NHibernate and 
            was passed in along with a transient object.
            </remarks>
        </member>
        <member name="F:NHibernate.Impl.CollectionEntry.loadedKey">
            <summary>
            The identifier of the Entity that is the owner of this Collection 
            during the load or post flush.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.CollectionEntry.snapshot">
            <summary>session-start/post-flush persistent state</summary>
        </member>
        <member name="F:NHibernate.Impl.CollectionEntry.role">
            <summary>allow the snapshot to be serialized</summary>
        </member>
        <member name="M:NHibernate.Impl.CollectionEntry.#ctor(NHibernate.Collection.IPersistentCollection)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Impl.CollectionEntry"/>.
            </summary>
            <remarks> 
            The CollectionEntry is for a Collection that is not dirty and 
            has already been initialized.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.CollectionEntry.#ctor(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Boolean)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Impl.CollectionEntry"/> for collections just loaded from the database.
            </summary>
            <param name="loadedPersister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> that persists this Collection type.</param>
            <param name="loadedID">The identifier of the Entity that is the owner of this Collection.</param>
            <param name="ignore">A boolean indicating whether to ignore the collection during current (or next) flush.</param>
        </member>
        <member name="M:NHibernate.Impl.CollectionEntry.#ctor(NHibernate.Engine.ICollectionSnapshot,NHibernate.Engine.ISessionFactoryImplementor)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Impl.CollectionEntry"/> for initialized detached collections.
            </summary>
            <param name="cs">The <see cref="T:NHibernate.Engine.ICollectionSnapshot"/> from another <see cref="T:NHibernate.ISession"/>.</param>
            <param name="factory">The <see cref="T:NHibernate.Engine.ISessionFactoryImplementor"/> that created this <see cref="T:NHibernate.ISession"/>.</param>
            <remarks>
            This takes an <see cref="T:NHibernate.Engine.ICollectionSnapshot"/> from another <see cref="T:NHibernate.ISession"/> and 
            creates an entry for it in this <see cref="T:NHibernate.ISession"/> by copying the values from the 
            <c>cs</c> parameter.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.CollectionEntry.PreFlush(NHibernate.Collection.IPersistentCollection)">
            <summary>
            Prepares this CollectionEntry for the Flush process.
            </summary>
            <param name="collection">The <see cref="T:NHibernate.Collection.IPersistentCollection"/> that this CollectionEntry will be responsible for flushing.</param>
        </member>
        <member name="M:NHibernate.Impl.CollectionEntry.PostInitialize(NHibernate.Collection.IPersistentCollection)">
            <summary>
            Updates the CollectionEntry to reflect that the <see cref="T:NHibernate.Collection.IPersistentCollection"/>
            has been initialized.
            </summary>
            <param name="collection">The initialized <see cref="T:NHibernate.Collection.AbstractPersistentCollection"/> that this Entry is for.</param>
        </member>
        <member name="M:NHibernate.Impl.CollectionEntry.PostFlush(NHibernate.Collection.IPersistentCollection)">
            <summary>
            Updates the CollectionEntry to reflect that it is has been successfully flushed to the database.
            </summary>
            <param name="collection">The <see cref="T:NHibernate.Collection.IPersistentCollection"/> that was flushed.</param>
            <remarks>
            Called after a <em>successful</em> flush.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.CollectionEntry.SetLoadedPersister(NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Sets the information in this CollectionEntry that is specific to the
            <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/>.
            </summary>
            <param name="persister">
            The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> that is 
            responsible for the Collection.
            </param>
        </member>
        <member name="P:NHibernate.Impl.CollectionEntry.Key">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.CollectionEntry.Role">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.CollectionEntry.Snapshot">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Impl.ConnectionManager">
            <summary>
            Manages the database connection and transaction for an <see cref="T:NHibernate.ISession"/>.
            </summary>
            <remarks>
            This class corresponds to ConnectionManager and JDBCContext in Hibernate,
            combined.
            </remarks>
        </member>
        <member name="T:NHibernate.Impl.CriteriaImpl">
            <summary>
            Implementation of the <see cref="T:NHibernate.ICriteria"/> interface
            </summary>
        </member>
        <member name="T:NHibernate.ICriteria">
            <summary>
            <p>
            Criteria is a simplified API for retrieving entities
            by composing Expression objects. This is a very
            convenient approach for functionality like "search" screens
            where there is a variable number of conditions to be placed
            upon the result set.
            </p>
            <p>
            The Session is a factory for ICriteria. 
            Expression instances are usually obtained via 
            the factory methods on Expression. eg:
            <code>
            IList cats = session.CreateCriteria(typeof(Cat)) 
                .Add( Expression.Like("name", "Iz%") ) 
                .Add( Expression.Gt( "weight", minWeight ) ) 
                .AddOrder( Order.Asc("age") ) 
                .List(); 
            </code> 
            You may navigate associations using <c>CreateAlias()</c> or
            <c>CreateCriteria()</c>.
            <code>
            IList cats = session.CreateCriteria(typeof(Cat))
            	.CreateCriteria("kittens")
            		.Add( Expression.like("name", "Iz%") )
            		.List();
            </code>
            Hibernate's query language is much more general
            and should be used for non-simple cases.
            </p>
            This is an experimental API
            </summary>
        </member>
        <member name="M:NHibernate.ICriteria.SetMaxResults(System.Int32)">
            <summary>
            Set a limit upon the number of objects to be retrieved
            </summary>
            <param name="maxResults"></param>
        </member>
        <member name="M:NHibernate.ICriteria.SetFirstResult(System.Int32)">
            <summary>
            Set the first result to be retrieved
            </summary>
            <param name="firstResult"></param>
        </member>
        <member name="M:NHibernate.ICriteria.SetTimeout(System.Int32)">
            <summary>
            Set a timeout for the underlying ADO.NET query
            </summary>
            <param name="timeout"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.Add(NHibernate.Expression.ICriterion)">
            <summary>
            Add an Expression to constrain the results to be retrieved.
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.AddOrder(NHibernate.Expression.Order)">
            <summary>
            An an Order to the result set 
            </summary>
            <param name="order"></param>
        </member>
        <member name="M:NHibernate.ICriteria.List">
            <summary>
            Get the results
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.List(System.Collections.IList)">
            <summary>
            Get the results and fill the <see cref="T:System.Collections.IList"/>
            </summary>
            <param name="results">The list to fill with the results.</param>
        </member>
        <member name="M:NHibernate.ICriteria.List``1">
            <summary>
            Strongly-typed version of <see cref="M:NHibernate.ICriteria.List"/>.
            </summary>
        </member>
        <member name="M:NHibernate.ICriteria.UniqueResult``1">
            <summary>
            Strongly-typed version of <see cref="M:NHibernate.ICriteria.UniqueResult"/>.
            </summary>
        </member>
        <member name="M:NHibernate.ICriteria.UniqueResult">
            <summary>
            Convenience method to return a single instance that matches
            the query, or null if the query returns no results.
            </summary>
            <returns>the single result or <c>null</c></returns>
            <exception cref="T:NHibernate.HibernateException">
            If there is more than one matching result
            </exception>
        </member>
        <member name="M:NHibernate.ICriteria.SetFetchMode(System.String,NHibernate.FetchMode)">
            <summary>
            Specify an association fetching strategy.  Currently, only
            one-to-many and one-to-one associations are supported.
            </summary>
            <param name="associationPath">A dot seperated property path.</param>
            <param name="mode">The Fetch mode.</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.CreateAlias(System.String,System.String)">
            <summary>
            Join an association, assigning an alias to the joined entity
            </summary>
            <param name="associationPath"></param>
            <param name="alias"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.CreateAlias(System.String,System.String,NHibernate.SqlCommand.JoinType)">
            <summary>
            Join an association using the specified join-type, assigning an alias to the joined
            association
            </summary>
            <param name="associationPath"></param>
            <param name="alias"></param>
            <param name="joinType">The type of join to use.</param>
            <returns>this (for method chaining)</returns>
        </member>
        <member name="M:NHibernate.ICriteria.CreateCriteria(System.String)">
            <summary>
            Create a new <see cref="T:NHibernate.ICriteria"/>, "rooted" at the associated entity
            </summary>
            <param name="associationPath"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.CreateCriteria(System.String,System.String)">
            <summary>
            Create a new <see cref="T:NHibernate.ICriteria"/>, "rooted" at the associated entity,
            assigning the given alias
            </summary>
            <param name="associationPath"></param>
            <param name="alias"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.CreateCriteria(System.String,System.String,NHibernate.SqlCommand.JoinType)">
            <summary>
            Create a new <see cref="T:NHibernate.ICriteria"/>, "rooted" at the associated entity,
            assigning the given alias and using the specified join type.
            </summary>
            <param name="associationPath">A dot-separated property path</param>
            <param name="alias">The alias to assign to the joined association (for later reference).</param>
            <param name="joinType">The type of join to use.</param>
            <returns>The created "sub criteria"</returns>
        </member>
        <member name="M:NHibernate.ICriteria.CreateCriteria(System.String,NHibernate.SqlCommand.JoinType)">
            <summary>
            Create a new <see cref="T:NHibernate.ICriteria"/>, "rooted" at the associated entity, 
            using the specified join type.
            </summary>
            <param name="associationPath">A dot-seperated property path</param>
            <param name="joinType">The type of join to use</param>
            <returns>The created "sub criteria"</returns>
        </member>
        <member name="M:NHibernate.ICriteria.SetResultTransformer(NHibernate.Transform.IResultTransformer)">
            <summary>
            Set a strategy for handling the query results. This determines the
            "shape" of the query result set.
            <seealso cref="F:NHibernate.CriteriaUtil.RootEntity"/>
            <seealso cref="F:NHibernate.CriteriaUtil.DistinctRootEntity"/>
            <seealso cref="F:NHibernate.CriteriaUtil.AliasToEntityMap"/>
            </summary>
            <param name="resultTransformer"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.SetLockMode(NHibernate.LockMode)">
            <summary>
            Set the lock mode of the current entity
            </summary>
            <param name="lockMode">the lock mode</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.SetLockMode(System.String,NHibernate.LockMode)">
            <summary>
            Set the lock mode of the aliased entity
            </summary>
            <param name="alias">an alias</param>
            <param name="lockMode">the lock mode</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.SetCacheable(System.Boolean)">
            <summary>
            Enable caching of this query result set
            </summary>
            <param name="cacheable"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.SetCacheRegion(System.String)">
            <summary>
            Set the name of the cache region.
            </summary>
            <param name="cacheRegion">the name of a query cache region, or <c>null</c>
            for the default query cache</param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.ICriteria.SetProjection(NHibernate.Expression.IProjection)">
            <summary>
            Used to specify that the query results will be a projection (scalar in
            nature).  Implicitly specifies the {@link #PROJECTION} result transformer.
            <p/>
            The individual components contained within the given
            <see cref="T:NHibernate.Expression.IProjection"/> determines the overall "shape" of the query result.
            <paramref name="projection">The projection representing the overall "shape" of the
            query results.</paramref>
            <returns>this (for method chaining)</returns>
            </summary>
        </member>
        <member name="P:NHibernate.ICriteria.Alias">
            <summary>
            Get the alias of the entity encapsulated by this criteria instance.
            </summary>
            <value>The alias for the encapsulated entity.</value>
        </member>
        <member name="T:NHibernate.Impl.DirtyCollectionSearchVisitor">
            <summary>
            A Visitor that determines if a dirty collection was found.
            </summary>
            <remarks>
            <list type="number">
            	<listheader>
            		<description>Reason for dirty collection</description>
            	</listheader>
            	<item>
            		<description>
            		If it is a new application-instantiated collection, return true (does not occur anymore!)
            		</description>
            	</item>
            	<item>
            		<description>
            		If it is a component, recurse.
            		</description>
            	</item>
            	<item>
            		<description>
            		If it is a wrapped collection, ask the collection entry.
            		</description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="P:NHibernate.Impl.DirtyCollectionSearchVisitor.WasDirtyCollectionFound">
            <summary>
            Gets a <see cref="T:System.Boolean"/> indicating if a dirty collection was found.
            </summary>
            <value><c>true</c> if a dirty collection was found.</value>
        </member>
        <member name="T:NHibernate.Impl.EntityEntry">
            <summary>
            We need an entry to tell us all about the current state
            of an object with respect to its persistent state
            </summary>
        </member>
        <member name="M:NHibernate.Impl.EntityEntry.#ctor(NHibernate.Impl.Status,System.Object[],System.Object,System.Object,NHibernate.LockMode,System.Boolean,NHibernate.Persister.Entity.IEntityPersister,System.Boolean)">
            <summary>
            Initializes a new instance of EntityEntry.
            </summary>
            <param name="status">The current <see cref="P:NHibernate.Impl.EntityEntry.Status"/> of the Entity.</param>
            <param name="loadedState">The snapshot of the Entity's state when it was loaded.</param>
            <param name="id">The identifier of the Entity in the database.</param>
            <param name="version">The version of the Entity.</param>
            <param name="lockMode">The <see cref="P:NHibernate.Impl.EntityEntry.LockMode"/> for the Entity.</param>
            <param name="existsInDatabase">A boolean indicating if the Entity exists in the database.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> that is responsible for this Entity.</param>
            <param name="disableVersionIncrement"></param>
        </member>
        <member name="P:NHibernate.Impl.EntityEntry.LockMode">
            <summary>
            Gets or sets the current <see cref="P:NHibernate.Impl.EntityEntry.LockMode"/> of the Entity.
            </summary>
            <value>The <see cref="P:NHibernate.Impl.EntityEntry.LockMode"/> of the Entity.</value>
        </member>
        <member name="P:NHibernate.Impl.EntityEntry.Status">
            <summary>
            Gets or sets the <see cref="P:NHibernate.Impl.EntityEntry.Status"/> of this Entity with respect to its 
            persistence in the database.
            </summary>
            <value>The <see cref="P:NHibernate.Impl.EntityEntry.Status"/> of this Entity.</value>
        </member>
        <member name="P:NHibernate.Impl.EntityEntry.Id">
            <summary>
            Gets or sets the identifier of the Entity in the database.
            </summary>
            <value>The identifier of the Entity in the database if one has been assigned.</value>
            <remarks>This might be <c>null</c> when the <see cref="P:NHibernate.Impl.EntityEntry.Status"/> is 
            <see cref="F:NHibernate.Impl.Status.Saving"/> and the database generates the id.</remarks>
        </member>
        <member name="P:NHibernate.Impl.EntityEntry.LoadedState">
            <summary>
            Gets or sets the snapshot of the Entity when it was loaded from the database.
            </summary>
            <value>The snapshot of the Entity.</value>
            <remarks>
            There will only be a value when the Entity was loaded in the current Session.
            </remarks>
        </member>
        <member name="P:NHibernate.Impl.EntityEntry.DeletedState">
            <summary>
            Gets or sets the snapshot of the Entity when it was marked as being ready for deletion.
            </summary>
            <value>The snapshot of the Entity.</value>
            <remarks>This will be <c>null</c> if the Entity is not being deleted.</remarks>
        </member>
        <member name="P:NHibernate.Impl.EntityEntry.ExistsInDatabase">
            <summary>
            Gets or sets a <see cref="T:System.Boolean"/> indicating if this Entity exists in the database.
            </summary>
            <value><c>true</c> if it is already in the database.</value>
            <remarks>
            It can also be <c>true</c> if it does not exists in the database yet and the 
            <see cref="P:NHibernate.Persister.Entity.IEntityPersister.IsIdentifierAssignedByInsert"/> is <c>true</c>.
            </remarks>
        </member>
        <member name="P:NHibernate.Impl.EntityEntry.Version">
            <summary>
            Gets or sets the version of the Entity.
            </summary>
            <value>The version of the Entity.</value>
        </member>
        <member name="P:NHibernate.Impl.EntityEntry.Persister">
            <summary>
            Gets or sets the <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> that is responsible for this Entity.
            </summary>
            <value>The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> that is reponsible for this Entity.</value>
        </member>
        <member name="P:NHibernate.Impl.EntityEntry.ClassName">
            <summary>
            Gets the Fully Qualified Name of the class this Entity is an instance of.
            </summary>
            <value>The Fully Qualified Name of the class this Entity is an instance of.</value>
        </member>
        <member name="P:NHibernate.Impl.EntityEntry.IsBeingReplicated">
            <summary>
            
            </summary>
        </member>
        <member name="T:NHibernate.Impl.EnumerableImpl">
            <summary>
            Provides an <see cref="T:System.Collections.IEnumerable"/> wrapper over the results of an <see cref="T:NHibernate.IQuery"/>.
            </summary>
            <remarks>
            This is the IteratorImpl in H2.0.3
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.EnumerableImpl.#ctor(System.Data.IDataReader,System.Data.IDbCommand,NHibernate.Engine.ISessionImplementor,NHibernate.Type.IType[],System.String[][],NHibernate.Engine.RowSelection,NHibernate.Hql.HolderInstantiator)">
            <summary>
            Create an <see cref="T:System.Collections.IEnumerable"/> wrapper over an <see cref="T:System.Data.IDataReader"/>.
            </summary>
            <param name="reader">The <see cref="T:System.Data.IDataReader"/> to enumerate over.</param>
            <param name="cmd">The <see cref="T:System.Data.IDbCommand"/> used to create the <see cref="T:System.Data.IDataReader"/>.</param>
            <param name="sess">The <see cref="T:NHibernate.ISession"/> to use to load objects.</param>
            <param name="types">The <see cref="T:NHibernate.Type.IType"/>s contained in the <see cref="T:System.Data.IDataReader"/>.</param>
            <param name="columnNames">The names of the columns in the <see cref="T:System.Data.IDataReader"/>.</param>
            <param name="selection">The <see cref="T:NHibernate.Engine.RowSelection"/> that should be applied to the <see cref="T:System.Data.IDataReader"/>.</param>
            <param name="holderInstantiator">Instantiator of the result holder (used for "select new SomeClass(...)" queries).</param>
            <remarks>
            The <see cref="T:System.Data.IDataReader"/> should already be positioned on the first record in <see cref="T:NHibernate.Engine.RowSelection"/>.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.EnumerableImpl.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the query results.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> that can be used to iterate through the query results.
            </returns>
        </member>
        <member name="M:NHibernate.Impl.EnumerableImpl.MoveNext">
             <summary>
             Advances the enumerator to the next element of the query results.
             </summary>
             <returns>
             <c>true</c> if the enumerator was successfully advanced to the next query results
             ; <c>false</c> if the enumerator has passed the end of the query results.
            </returns>
        </member>
        <member name="M:NHibernate.Impl.EnumerableImpl.Reset">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Impl.EnumerableImpl._isAlreadyDisposed">
            <summary>
            A flag to indicate if <c>Disose()</c> has been called.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.EnumerableImpl.Finalize">
            <summary>
            Finalizer that ensures the object is correctly disposed of.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.EnumerableImpl.Dispose">
            <summary>
            Takes care of freeing the managed and unmanaged resources that 
            this class is responsible for.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.EnumerableImpl.Dispose(System.Boolean)">
            <summary>
            Takes care of freeing the managed and unmanaged resources that 
            this class is responsible for.
            </summary>
            <param name="isDisposing">Indicates if this EnumerableImpl is being Disposed of or Finalized.</param>
            <remarks>
            The command is closed and the reader is disposed.  This allows other ADO.NET
            related actions to occur without needing to move all the way through the
            EnumerableImpl.
            </remarks>
        </member>
        <member name="P:NHibernate.Impl.EnumerableImpl.Current">
            <summary>
            Gets the current element in the query results.
            </summary>
            <value>
            The current element in the query results which is either an object or 
            an object array.
            </value>
            <remarks>
            If the <see cref="T:NHibernate.IQuery"/> only returns one type of Entity then an object will
            be returned.  If this is a multi-column resultset then an object array will be
            returned.
            </remarks>
        </member>
        <member name="T:NHibernate.Impl.EvictVisitor">
            <summary>
            Evict any collections referenced by the object from the ISession cache.
            </summary>
            <remarks>
            This will <b>NOT</b> pick up any collections that were dereferenced, so
            they will be deleted (suboptimal but not exactly incorrect).
            </remarks>
        </member>
        <member name="T:NHibernate.Impl.FilterImpl">
            <summary>
            </summary>
        </member>
        <member name="T:NHibernate.IFilter">
            <summary>
            Type definition of Filter.  Filter defines the user's view into enabled dynamic filters,
            allowing them to set filter parameter values.
            </summary>
        </member>
        <member name="M:NHibernate.IFilter.SetParameter(System.String,System.Object)">
            <summary>
            Set the named parameter's value list for this filter. 
            </summary>
            <param name="name">The parameter's name.</param>
            <param name="value">The values to be applied.</param>
            <returns>This FilterImpl instance (for method chaining).</returns>
        </member>
        <member name="M:NHibernate.IFilter.SetParameterList(System.String,System.Collections.ICollection)">
            <summary>
            Set the named parameter's value list for this filter.  Used
            in conjunction with IN-style filter criteria.        
            </summary>
            <param name="name">The parameter's name.</param>
            <param name="values">The values to be expanded into an SQL IN list.</param>
            <returns>This FilterImpl instance (for method chaining).</returns>
        </member>
        <member name="M:NHibernate.IFilter.SetParameterList(System.String,System.Object[])">
            <summary>
            Set the named parameter's value list for this filter.  Used
            in conjunction with IN-style filter criteria.        
            </summary>
            <param name="name">The parameter's name.</param>
            <param name="values">The values to be expanded into an SQL IN list.</param>
            <returns>This FilterImpl instance (for method chaining).</returns>
        </member>
        <member name="M:NHibernate.IFilter.Validate">
            <summary>
            Perform validation of the filter state.  This is used to verify the
            state of the filter after its enablement and before its use.
            </summary>
            <returns></returns>
        </member>
        <member name="P:NHibernate.IFilter.Name">
            <summary>
            Get the name of this filter. 
            </summary>
            <returns>This filter's name.</returns>
        </member>
        <member name="P:NHibernate.IFilter.FilterDefinition">
            <summary>
            Get the filter definition containing additional information about the
            filter (such as default-condition and expected parameter names/types).
            </summary>
            <returns>The filter definition</returns>
        </member>
        <member name="M:NHibernate.Impl.FilterImpl.SetParameter(System.String,System.Object)">
            <summary>
            Set the named parameter's value for this filter.
            </summary>
            <param name="name">The parameter's name.</param>
            <param name="value">The value to be applied.</param>
            <returns>This FilterImpl instance (for method chaining).</returns>
        </member>
        <member name="M:NHibernate.Impl.FilterImpl.SetParameterList(System.String,System.Collections.ICollection)">
            <summary>
            Set the named parameter's value list for this filter.  Used
            in conjunction with IN-style filter criteria.
            </summary>
            <param name="name">The parameter's name.</param>
            <param name="values">The values to be expanded into an SQL IN list.</param>
            <returns>This FilterImpl instance (for method chaining).</returns>
        </member>
        <member name="M:NHibernate.Impl.FilterImpl.SetParameterList(System.String,System.Object[])">
            <summary>
            Set the named parameter's value list for this filter.  Used
            in conjunction with IN-style filter criteria.        
            </summary>
            <param name="name">The parameter's name.</param>
            <param name="values">The values to be expanded into an SQL IN list.</param>
            <returns>This FilterImpl instance (for method chaining).</returns>
        </member>
        <member name="M:NHibernate.Impl.FilterImpl.Validate">
            <summary>
            Perform validation of the filter state.  This is used to verify the
            state of the filter after its enablement and before its use.
            </summary>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Impl.FilterImpl.Name">
            <summary>
            Get the name of this filter.
            </summary>
        </member>
        <member name="T:NHibernate.Impl.IExecutable">
            <summary>
            An action that <see cref="T:NHibernate.ISession"/> can Execute during a
            <c>Flush</c>.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.IExecutable.BeforeExecutions">
            <summary>
            
            </summary>
        </member>
        <member name="M:NHibernate.Impl.IExecutable.Execute">
            <summary>
            Execute the action required to write changes to the database.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.IExecutable.AfterTransactionCompletion(System.Boolean)">
            <summary>
            Called after the Transaction has been completed.
            </summary>
            <param name="success"></param>
            <remarks>
            Actions should make sure that the Cache is notified about
            what just happened.
            </remarks>
        </member>
        <member name="P:NHibernate.Impl.IExecutable.HasAfterTransactionCompletion">
            <summary>
            Does the executable have an AfterTransactionCompletion process
            </summary>
        </member>
        <member name="P:NHibernate.Impl.IExecutable.PropertySpaces">
            <summary>
            The spaces (tables) that are affectd by this Executable action.
            </summary>
            <remarks>
            This is used to determine if the ISession needs to be flushed before
            a query is executed so stale data is not returned.
            </remarks>
        </member>
        <member name="T:NHibernate.Impl.MessageHelper">
            <summary>
            Helper methods for rendering log messages and exception messages
            </summary>
        </member>
        <member name="M:NHibernate.Impl.MessageHelper.InfoString(System.Type,System.Object)">
            <summary>
            Generate small message that can be used in traces and exception messages.
            </summary>
            <param name="clazz">The <see cref="T:System.Type"/> to create the string from.</param>
            <param name="id">The identifier of the object.</param>
            <returns>A descriptive <see cref="T:System.String"/> in the format of <c>[classname#id]</c></returns>
        </member>
        <member name="M:NHibernate.Impl.MessageHelper.InfoString(NHibernate.Persister.Entity.IEntityPersister,System.Object,NHibernate.Engine.ISessionFactoryImplementor)">
            <summary>
            Generate small message that can be used in traces and exception messages.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> for the class in question.</param>
            <param name="id">The identifier of the object.</param>
            <param name="factory">The <see cref="T:NHibernate.ISessionFactory"/>.</param>
            <returns>A descriptive <see cref="T:System.String"/> in the format of <c>[classname#id]</c></returns>
        </member>
        <member name="M:NHibernate.Impl.MessageHelper.InfoString(NHibernate.Persister.Entity.IEntityPersister,System.Object,NHibernate.Type.IType,NHibernate.Engine.ISessionFactoryImplementor)">
            <summary>
            Generate small message that can be used in traces and exception messages.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> for the class in question.</param>
            <param name="id">The identifier of the object.</param>
            <param name="factory">The <see cref="T:NHibernate.ISessionFactory"/>.</param>
            <param name="identifierType">The NHibernate type of the identifier.</param>
            <returns>A descriptive <see cref="T:System.String"/> in the format of <c>[classname#id]</c></returns>
        </member>
        <member name="M:NHibernate.Impl.MessageHelper.InfoString(NHibernate.Persister.Entity.IEntityPersister,System.Object)">
            <summary>
            Generate small message that can be used in traces and exception messages.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> for the class in question</param>
            <param name="id">The id</param>
            <returns>A descriptive <see cref="T:System.String"/> in the form <c>[FooBar#id]</c></returns>
        </member>
        <member name="M:NHibernate.Impl.MessageHelper.InfoString(NHibernate.Persister.Entity.IEntityPersister)">
            <summary>
            Generate small message that can be used in traces and exception messages.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> for the class in question</param>
            <returns>A descriptive <see cref="T:System.String"/> in the form <c>[FooBar]</c></returns>
        </member>
        <member name="M:NHibernate.Impl.MessageHelper.InfoString(NHibernate.Persister.Collection.ICollectionPersister,System.Object)">
            <summary>
            Generate small message that can be used in traces and exception messages.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> for the class in question</param>
            <param name="id">The id</param>
            <returns>A descriptive <see cref="T:System.String"/> in the form <c>[collectionrole#id]</c></returns>
        </member>
        <member name="T:NHibernate.IMultiQuery">
            <summary>
            Combines sevaral queries into a single database call
            </summary>
        </member>
        <member name="M:NHibernate.IMultiQuery.List">
            <summary>
            Get all the 
            </summary>
        </member>
        <member name="M:NHibernate.IMultiQuery.Add(NHibernate.IQuery)">
            <summary>
            Add the specified HQL query to the multi query
            </summary>
        </member>
        <member name="M:NHibernate.IMultiQuery.Add(System.String)">
            <summary>
            Add the specified HQL query to the multi query
            </summary>
        </member>
        <member name="M:NHibernate.IMultiQuery.AddNamedQuery(System.String)">
            <summary>
            Add a named query to the multi query
            </summary>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetCacheable(System.Boolean)">
            <summary>
            Enable caching of this query result set.
            </summary>
            <param name="cacheable">Should the query results be cacheable?</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetCacheRegion(System.String)">
            Set the name of the cache region.
            <param name="cacheRegion">The name of a query cache region, or <c>null</c>
            for the default query cache</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetForceCacheRefresh(System.Boolean)">
            Should the query force a refresh of the specified query cache region?
            This is particularly useful in cases where underlying data may have been
            updated via a seperate process (i.e., not modified through Hibernate) and
            allows the application to selectively refresh the query cache regions
            based on its knowledge of those events.
            <param name="forceCacheRefresh">Should the query result in a forceable refresh of
            the query cache?</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetTimeout(System.Int32)">
            <summary>
            The timeout for the underlying ADO query
            </summary>
            <param name="timeout"></param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetParameter(System.String,System.Object,NHibernate.Type.IType)">
            <summary>
            Bind a value to a named query parameter
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">The possibly null parameter value</param>
            <param name="type">The NHibernate <see cref="T:NHibernate.Type.IType"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetParameter(System.String,System.Object)">
            <summary>
            Bind a value to a named query parameter, guessing the NHibernate <see cref="T:NHibernate.Type.IType"/>
            from the class of the given object.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">The non-null parameter value</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetParameterList(System.String,System.Collections.ICollection,NHibernate.Type.IType)">
            <summary>
            Bind multiple values to a named query parameter. This is useful for binding a list
            of values to an expression such as <c>foo.bar in (:value_list)</c>
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="vals">A collection of values to list</param>
            <param name="type">The Hibernate type of the values</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetParameterList(System.String,System.Collections.ICollection)">
            <summary>
            Bind multiple values to a named query parameter, guessing the Hibernate
            type from the class of the first object in the collection. This is useful for binding a list
            of values to an expression such as <c>foo.bar in (:value_list)</c>
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="vals">A collection of values to list</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetAnsiString(System.String,System.String)">
            <summary>
            Bind an instance of a <see cref="T:System.String"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.AnsiStringType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.String"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetBinary(System.String,System.Byte[])">
            <summary>
            Bind an instance of a <see cref="T:System.Byte"/> array to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.BinaryType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Byte"/> array.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetBoolean(System.String,System.Boolean)">
            <summary>
            Bind an instance of a <see cref="T:System.Boolean"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.BooleanType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Boolean"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetByte(System.String,System.Byte)">
            <summary>
            Bind an instance of a <see cref="T:System.Byte"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.ByteType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Byte"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetCharacter(System.String,System.Char)">
            <summary>
            Bind an instance of a <see cref="T:System.Char"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.CharType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Char"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetDateTime(System.String,System.DateTime)">
            <summary>
            Bind an instance of a <see cref="T:System.DateTime"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.DateTimeType"/>.
            </summary>
            <param name="val">A non-null instance of a <see cref="T:System.DateTime"/>.</param>
            <param name="name">The name of the parameter</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetDecimal(System.String,System.Decimal)">
            <summary>
            Bind an instance of a <see cref="T:System.Decimal"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.DecimalType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Decimal"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetDouble(System.String,System.Double)">
            <summary>
            Bind an instance of a <see cref="T:System.Double"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.DoubleType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Double"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetEntity(System.String,System.Object)">
            <summary>
            Bind an instance of a mapped persistent class to a named parameter.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a persistent class</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetEnum(System.String,System.Enum)">
            <summary>
            Bind an instance of a persistent enumeration class to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.PersistentEnumType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a persistent enumeration</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetInt16(System.String,System.Int16)">
            <summary>
            Bind an instance of a <see cref="T:System.Int16"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.Int16Type"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Int16"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetInt32(System.String,System.Int32)">
            <summary>
            Bind an instance of a <see cref="T:System.Int32"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.Int32Type"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Int32"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetInt64(System.String,System.Int64)">
            <summary>
            Bind an instance of a <see cref="T:System.Int64"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.Int64Type"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Int64"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetSingle(System.String,System.Single)">
            <summary>
            Bind an instance of a <see cref="T:System.Single"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.SingleType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.Single"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetString(System.String,System.String)">
            <summary>
            Bind an instance of a <see cref="T:System.String"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.StringType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.String"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetTime(System.String,System.DateTime)">
            <summary>
            Bind an instance of a <see cref="T:System.DateTime"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.DateTimeType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.DateTime"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetTimestamp(System.String,System.DateTime)">
            <summary>
            Bind an instance of a <see cref="T:System.DateTime"/> to a named parameter
            using an NHibernate <see cref="T:NHibernate.Type.TimestampType"/>.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="val">A non-null instance of a <see cref="T:System.DateTime"/>.</param>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetFlushMode(NHibernate.FlushMode)">
            <summary>
            Override the current session flush mode, just for this query.
            </summary>
        </member>
        <member name="M:NHibernate.IMultiQuery.SetResultTransformer(NHibernate.Transform.IResultTransformer)">
            <summary>
            Set a strategy for handling the query results. This can be used to change
            "shape" of the query result.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.MultiQueryImpl.List">
            <summary>
            Return the query results of all the queries
            </summary>
        </member>
        <member name="M:NHibernate.Type.ICacheAssembler.Disassemble(System.Object,NHibernate.Engine.ISessionImplementor)">
            <summary>
		When implemented by a class, disassembles the object into a cacheable representation.
		</summary><param name="value">The value to disassemble.</param><param name="session">The sesion</param><returns>The disassembled, deep cloned state of the object</returns> 
        </member>
        <member name="M:NHibernate.Type.ICacheAssembler.Assemble(System.Object,NHibernate.Engine.ISessionImplementor,System.Object)">
            <summary>
		When implemented by a class, reconstructs the object from its 
		cached "disassembled" state.
		</summary><param name="cached">The disassembled state from the cache</param><param name="session">The session</param><param name="owner">tThe parent Entity object</param><returns>The assembled object.</returns> 
        </member>
        <member name="T:NHibernate.Impl.NonBatchingBatcher">
            <summary>
            An implementation of the <see cref="T:NHibernate.Engine.IBatcher"/> 
            interface that does no batching.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.NonBatchingBatcher.#ctor(NHibernate.Impl.ConnectionManager)">
            <summary>
            Initializes a new instance of the <see cref="T:NHibernate.Impl.NonBatchingBatcher"/> class.
            </summary>
            <param name="connectionManager">The <see cref="T:NHibernate.Impl.ConnectionManager"/> for this batcher.</param>
        </member>
        <member name="M:NHibernate.Impl.NonBatchingBatcher.AddToBatch(NHibernate.AdoNet.IExpectation)">
            <summary>
            Executes the current <see cref="T:System.Data.IDbCommand"/> and compares the row Count
            to the <c>expectedRowCount</c>.
            </summary>
            <param name="expectation">
            The expected number of rows affected by the query.  A value of less than <c>0</c>
            indicates that the number of rows to expect is unknown or should not be a factor.
            </param>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when there is an expected number of rows to be affected and the
            actual number of rows is different.
            </exception>
        </member>
        <member name="M:NHibernate.Impl.NonBatchingBatcher.DoExecuteBatch(System.Data.IDbCommand)">
            <summary>
            This Batcher implementation does not support batching so this is a no-op call.  The
            actual execution of the <see cref="T:System.Data.IDbCommand"/> is run in the <c>AddToBatch</c> 
            method.
            </summary>
            <param name="ps"></param>
        </member>
        <member name="T:NHibernate.Impl.OnLockVisitor">
            <summary>
            When a transient entity is passed to <see cref="M:NHibernate.ISession.Lock(System.Object,NHibernate.LockMode)"/>, we must inspect all its collections and
            1. associate any uninitialized PersistentCollections with this session
            2. associate any initialized PersistentCollections with this session, using the
               existing snapshot
            3. throw an exception for each "new" collection
            </summary>
        </member>
        <member name="T:NHibernate.Impl.ReattachVisitor">
            <summary>
            Abstract superclass of visitors that reattach collections
            </summary>
        </member>
        <member name="T:NHibernate.Impl.ProxyVisitor">
            <summary>
            Reassociates uninitialized Proxies with the Session.
            </summary>
        </member>
        <member name="T:NHibernate.Impl.OnReplicateVisitor">
            <summary>
            When an entity is passed to Update(), we must inspect all its collections and
            1. associate any uninitialized PersistentCollections with this session
            2. associate any initialized PersistentCollections with this session, using the existing snapshot
            3. execute a collection removal (SQL DELETE) for each null collection property or "new" collection
            </summary>
        </member>
        <member name="T:NHibernate.Impl.OnUpdateVisitor">
            <summary>
            When an entity is passed to <c>Update()</c>, all its collections must be
            inspected and:
            <list type="number">
            	<item>
            		<description>
            		Associate any uninitialized PersistentCollections with this Session.
            		</description>
            	</item>
            	<item>
            		<description>
            		Associate any initialized PersistentCollections with this Session, using the
            		existing snapshot.
            		</description>
            	</item>
            	<item>
            		<description>
            		Execute a collection removal (SQL DELETE) for each null collection property
            		or "new" collection.
            		</description>
            	</item>
            </list>
            </summary>
        </member>
        <member name="M:NHibernate.Impl.Printer.ToString(System.Object)">
            <summary>
            
            </summary>
            <param name="entity">an actual entity object, not a proxy!</param>
            <returns></returns>
        </member>
        <member name="T:NHibernate.Impl.QueryFilterImpl">
            <summary>
            Implementation of the <see cref="T:NHibernate.IQuery"/> interface for collection filters.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.QueryFilterImpl.#ctor(System.String,System.Object,NHibernate.Engine.ISessionImplementor)">
            <summary>
            
            </summary>
            <param name="queryString"></param>
            <param name="collection"></param>
            <param name="session"></param>
        </member>
        <member name="T:NHibernate.Impl.ScheduledCollectionAction">
            <summary>
            The base class for a scheduled action to perform on a Collection during a
            flush.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.ScheduledCollectionAction.#ctor(NHibernate.Persister.Collection.ICollectionPersister,System.Object,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Impl.ScheduledCollectionAction"/>.
            </summary>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> that is responsible for the persisting the Collection.</param>
            <param name="id">The identifier of the Collection owner.</param>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> that the Action is occuring in.</param>
        </member>
        <member name="M:NHibernate.Impl.ScheduledCollectionAction.AfterTransactionCompletion(System.Boolean)">
            <summary></summary>
            <param name="success"></param>
        </member>
        <member name="M:NHibernate.Impl.ScheduledCollectionAction.BeforeExecutions">
            <summary>
            
            </summary>
        </member>
        <member name="M:NHibernate.Impl.ScheduledCollectionAction.Evict">
            <summary>
            
            </summary>
        </member>
        <member name="P:NHibernate.Impl.ScheduledCollectionAction.Persister">
            <summary>
            Gets the <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> that is responsible for persisting the Collection.
            </summary>
        </member>
        <member name="P:NHibernate.Impl.ScheduledCollectionAction.Id">
            <summary>
            Gets the identifier of the Collection owner.
            </summary>
        </member>
        <member name="P:NHibernate.Impl.ScheduledCollectionAction.Session">
            <summary>
            Gets the <see cref="T:NHibernate.Engine.ISessionImplementor"/> the action is executing in.
            </summary>
        </member>
        <member name="P:NHibernate.Impl.ScheduledCollectionAction.PropertySpaces">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Impl.ScheduledCollectionRecreate">
            <summary>
            A scheduled recreation of the Collection in the database.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.ScheduledCollectionRecreate.#ctor(NHibernate.Collection.IPersistentCollection,NHibernate.Persister.Collection.ICollectionPersister,System.Object,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Impl.ScheduledCollectionRecreate"/>.
            </summary>
            <param name="collection">The <see cref="T:NHibernate.Collection.IPersistentCollection"/> to recreate.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> that is responsible for the persisting the Collection.</param>
            <param name="id">The identifier of the Collection owner.</param>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> that the Action is occuring in.</param>
        </member>
        <member name="M:NHibernate.Impl.ScheduledCollectionRecreate.Execute">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Impl.ScheduledCollectionRemove">
            <summary>
            A scheduled removal of the Collection from the database.
            </summary>
            <remarks>
            This Collection is not represented in the database anymore.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.ScheduledCollectionRemove.#ctor(NHibernate.Collection.IPersistentCollection,NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Boolean,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Impl.ScheduledCollectionRemove"/>.
            </summary>
            <param name="collection">The <see cref="T:NHibernate.Collection.IPersistentCollection"/> that is being removed.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> that is responsible for the persisting the Collection.</param>
            <param name="id">The identifier of the Collection owner.</param>
            <param name="emptySnapshot">Indicates if the Collection was empty when it was loaded.</param>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> that the Action is occuring in.</param>
        </member>
        <member name="M:NHibernate.Impl.ScheduledCollectionRemove.Execute">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Impl.ScheduledCollectionUpdate">
            <summary>
            A scheduled update of the Collection in the database.
            </summary>
            <remarks>
            Entities in the Collection or the contents of the Collection have been modified
            and the database should be updated accordingly.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.ScheduledCollectionUpdate.#ctor(NHibernate.Collection.IPersistentCollection,NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Boolean,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Impl.ScheduledCollectionUpdate"/>.
            </summary>
            <param name="collection">The <see cref="T:NHibernate.Collection.IPersistentCollection"/> to update.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/> that is responsible for the persisting the Collection.</param>
            <param name="id">The identifier of the Collection owner.</param>
            <param name="emptySnapshot">Indicates if the Collection was empty when it was loaded.</param>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> that the Action is occuring in.</param>
        </member>
        <member name="M:NHibernate.Impl.ScheduledCollectionUpdate.Execute">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Impl.ScheduledDeletion">
            <summary>
            A scheduled deletion of an object.
            </summary>
        </member>
        <member name="T:NHibernate.Impl.ScheduledEntityAction">
            <summary>
            The base class for a scheduled action to perform on an entity during a
            flush.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.ScheduledEntityAction.#ctor(NHibernate.Engine.ISessionImplementor,System.Object,System.Object,NHibernate.Persister.Entity.IEntityPersister)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Impl.ScheduledEntityAction"/>.
            </summary>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> that the Action is occuring in.</param>
            <param name="id">The identifier of the object.</param>
            <param name="instance">The actual object instance.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> that is responsible for the persisting the object.</param>
        </member>
        <member name="M:NHibernate.Impl.ScheduledEntityAction.BeforeExecutions">
            <summary>
            
            </summary>
            <remarks>Not supported for a non-collection entity</remarks>
        </member>
        <member name="M:NHibernate.Impl.ScheduledEntityAction.AfterTransactionCompletion(System.Boolean)">
            <summary>
            Called when the Transaction this action occurred in has completed.
            </summary>
            <param name="success"></param>
        </member>
        <member name="M:NHibernate.Impl.ScheduledEntityAction.Execute">
            <summary>
            Execute the action using the <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/>.
            </summary>
        </member>
        <member name="P:NHibernate.Impl.ScheduledEntityAction.Session">
            <summary>
            Gets the <see cref="T:NHibernate.Engine.ISessionImplementor"/> the action is executing in.
            </summary>
        </member>
        <member name="P:NHibernate.Impl.ScheduledEntityAction.Id">
            <summary>
            Gets the identifier of the object.
            </summary>
        </member>
        <member name="P:NHibernate.Impl.ScheduledEntityAction.Persister">
            <summary>
            Gets the <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> that is responsible for persisting the object.
            </summary>
        </member>
        <member name="P:NHibernate.Impl.ScheduledEntityAction.Instance">
            <summary>
            Gets the object that is having the scheduled action performed against it.
            </summary>
        </member>
        <member name="P:NHibernate.Impl.ScheduledEntityAction.HasAfterTransactionCompletion">
            <summary>
            
            </summary>
        </member>
        <member name="P:NHibernate.Impl.ScheduledEntityAction.PropertySpaces">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Impl.ScheduledDeletion.#ctor(System.Object,System.Object,System.Object,NHibernate.Persister.Entity.IEntityPersister,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Impl.ScheduledDeletion"/>.
            </summary>
            <param name="id">The identifier of the object.</param>
            <param name="version">The version of the object being deleted.</param>
            <param name="instance">The actual object instance.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> that is responsible for the persisting the object.</param>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> that the Action is occuring in.</param>
        </member>
        <member name="M:NHibernate.Impl.ScheduledDeletion.Execute">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Impl.ScheduledDeletion.AfterTransactionCompletion(System.Boolean)">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Impl.ScheduledIdentityInsertion">
            <summary>
            Summary description for ScheduledIdentityInsertion.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.ScheduledIdentityInsertion.#ctor(System.Object[],System.Object,NHibernate.Persister.Entity.IEntityPersister,NHibernate.Engine.ISessionImplementor)">
            <summary>
            
            </summary>
            <param name="state"></param>
            <param name="instance"></param>
            <param name="persister"></param>
            <param name="session"></param>
        </member>
        <member name="M:NHibernate.Impl.ScheduledIdentityInsertion.AfterTransactionCompletion(System.Boolean)">
            <summary>
            
            </summary>
            <param name="sucess"></param>
        </member>
        <member name="P:NHibernate.Impl.ScheduledIdentityInsertion.HasAfterTransactionCompletion">
            <summary>
            
            </summary>
        </member>
        <member name="T:NHibernate.Impl.ScheduledInsertion">
            <summary>
            A scheduled insertion of an object.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.ScheduledInsertion.#ctor(System.Object,System.Object[],System.Object,System.Object,NHibernate.Persister.Entity.IEntityPersister,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Impl.ScheduledInsertion"/>.
            </summary>
            <param name="id">The identifier of the object.</param>
            <param name="state">An object array that contains the state of the object being inserted.</param>
            <param name="instance">The actual object instance.</param>
            <param name="version">The version of the object instance.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> that is responsible for the persisting the object.</param>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> that the Action is occuring in.</param>
        </member>
        <member name="M:NHibernate.Impl.ScheduledInsertion.Execute">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Impl.ScheduledInsertion.AfterTransactionCompletion(System.Boolean)">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Impl.ScheduledUpdate">
            <summary>
            A scheduled update of an object.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.ScheduledUpdate.#ctor(System.Object,System.Object[],System.Int32[],System.Boolean,System.Object[],System.Object,System.Object,System.Object,System.Object[],NHibernate.Persister.Entity.IEntityPersister,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initializes a new instance of <see cref="T:NHibernate.Impl.ScheduledUpdate"/>.
            </summary>
            <param name="id">The identifier of the object.</param>
            <param name="fields">An array of objects that contains the value of each Property.</param>
            <param name="dirtyProperties">An array that contains the indexes of the dirty Properties.</param>
            <param name="hasDirtyCollection">Whether the object contains a dirty collection.</param>
            <param name="oldFields"></param>
            <param name="lastVersion">The current version of the object.</param>
            <param name="nextVersion">The version the object should be after update.</param>
            <param name="instance">The actual object instance.</param>
            <param name="updatedState">A deep copy of the <c>fields</c> object array.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> that is responsible for the persisting the object.</param>
            <param name="session">The <see cref="T:NHibernate.Engine.ISessionImplementor"/> that the Action is occuring in.</param>
        </member>
        <member name="M:NHibernate.Impl.ScheduledUpdate.Execute">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Impl.ScheduledUpdate.AfterTransactionCompletion(System.Boolean)">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Impl.SessionFactoryImpl">
            <summary>
             Concrete implementation of a SessionFactory.
            </summary>
            <remarks>
            Has the following responsibilities:
            <list type="">
            <item>
            Caches configuration settings (immutably)</item>
            <item>
            Caches "compiled" mappings - ie. <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> 
            and <see cref="T:NHibernate.Persister.Collection.ICollectionPersister"/>
            </item>
            <item>
            Caches "compiled" queries (memory sensitive cache)
            </item>
            <item>
            Manages <c>PreparedStatements/IDbCommands</c> - how true in NH?
            </item>
            <item>
            Delegates <c>IDbConnection</c> management to the <see cref="T:NHibernate.Connection.IConnectionProvider"/>
            </item>
            <item>
            Factory for instances of <see cref="T:NHibernate.ISession"/>
            </item>
            </list>
            <para>
            This class must appear immutable to clients, even if it does all kinds of caching
            and pooling under the covers.  It is crucial that the class is not only thread safe
            , but also highly concurrent.  Synchronization must be used extremely sparingly.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.GetEntityPersister(System.Type)">
            <summary>
            
            </summary>
            <param name="theClass"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.OpenDatabinder">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.GetNamedQuery(System.String)">
            <summary>
            Gets the <c>hql</c> query identified by the <c>name</c>.
            </summary>
            <param name="name">The name of that identifies the query.</param>
            <returns>
            A <c>hql</c> query or <c>null</c> if the named
            query does not exist.
            </returns>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.GetNamedSQLQuery(System.String)">
            <summary>
            
            </summary>
            <param name="queryName"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.GetIdentifierType(System.Type)">
            <summary>
            
            </summary>
            <param name="objectClass"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.GetIdentifierPropertyName(System.Type)">
            <summary>
            
            </summary>
            <param name="objectClass"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.GetImplementors(System.Type)">
            <summary>
            Return the names of all persistent (mapped) classes that extend or implement the
            given class or interface, accounting for implicit/explicit polymorphism settings
            and excluding mapped subclasses/joined-subclasses of other classes in the result.
            </summary>
            <param name="clazz"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.GetImplementorClasses(System.Type)">
            <summary>
            Added to solve a problem with SessionImpl.Find( CriteriaImpl ),
            see the comment there for an explanation.
            </summary>
            <param name="clazz"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.GetAllClassMetadata">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.GetAllCollectionMetadata">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.Close">
            <summary>
            Closes the session factory, releasing all held resources.
            <list>
            <item>cleans up used cache regions and "stops" the cache provider.</item>
            <item>close the ADO.NET connection</item>
            </list>
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryImpl.OpenConnection">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.Dialect">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.TransactionFactory">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.IsBatchUpdateEnabled">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.BatchSize">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.IsScrollableResultSetsEnabled">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.IsGetGeneratedKeysEnabled">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.IsOuterJoinedFetchEnabled">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.DefaultSchema">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.MaximumFetchDepth">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.IsShowSqlEnabled">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.FetchSize">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.ConnectionProvider">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionFactoryImpl.Isolation">
            <summary></summary>
        </member>
        <member name="T:NHibernate.Impl.SessionFactoryImpl.QueryCacheKey">
            <summary>
            A class that can be used as a Key in a Hashtable for 
            a Query Cache.
            </summary>
        </member>
        <member name="T:NHibernate.Impl.SessionFactoryImpl.FilterCacheKey">
            <summary>
            A class that can be used as a Key in a Hashtable for 
            a Query Cache.
            </summary>
        </member>
        <member name="T:NHibernate.Impl.SessionFactoryObjectFactory">
            <summary>
            Resolves <see cref="T:NHibernate.ISessionFactory"/> lookups and deserialization.
            </summary>
            <remarks>
            <para>
            This is used heavily be Deserialization.  Currently a SessionFactory is not really serialized. 
            All that is serialized is it's name and uid.  During Deserializaiton the serialized SessionFactory
            is converted to the one contained in this object.  So if you are serializing across AppDomains
            you should make sure that "name" is specified for the SessionFactory in the hbm.xml file and that the
            other AppDomain has a configured SessionFactory with the same name.  If
            you are serializing in the same AppDomain then there will be no problem because the uid will
            be in this object.
            </para>
            <para>
            TODO: verify that the AppDomain statements are correct.
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryObjectFactory.#cctor">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryObjectFactory.AddInstance(System.String,System.String,NHibernate.ISessionFactory,System.Collections.IDictionary)">
            <summary>
            Adds an Instance of the SessionFactory to the local "cache".
            </summary>
            <param name="uid">The identifier of the ISessionFactory.</param>
            <param name="name">The name of the ISessionFactory.</param>
            <param name="instance">The ISessionFactory.</param>
            <param name="properties">The configured properties for the ISessionFactory.</param>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryObjectFactory.RemoveInstance(System.String,System.String,System.Collections.IDictionary)">
            <summary>
            Removes the Instance of the SessionFactory from the local "cache".
            </summary>
            <param name="uid">The identifier of the ISessionFactory.</param>
            <param name="name">The name of the ISessionFactory.</param>
            <param name="properties">The configured properties for the ISessionFactory.</param>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryObjectFactory.GetNamedInstance(System.String)">
            <summary>
            Returns a Named Instance of the SessionFactory from the local "cache" identified by name.
            </summary>
            <param name="name">The name of the ISessionFactory.</param>
            <returns>An instantiated ISessionFactory.</returns>
        </member>
        <member name="M:NHibernate.Impl.SessionFactoryObjectFactory.GetInstance(System.String)">
            <summary>
            Returns an Instance of the SessionFactory from the local "cache" identified by UUID.
            </summary>
            <param name="uid">The identifier of the ISessionFactory.</param>
            <returns>An instantiated ISessionFactory.</returns>
        </member>
        <member name="T:NHibernate.Impl.SessionImpl">
            <summary>
            Concrete implementation of a Session, also the central, organizing component
            of Hibernate's internal implementation.
            </summary>
            <remarks>
            Exposes two interfaces: ISession itself, to the application and ISessionImplementor
            to other components of hibernate. This is where the hard stuff is...
            NOT THREADSAFE
            </remarks>
        </member>
        <member name="F:NHibernate.Impl.SessionImpl.closed">
            <summary>
            Indicates if the Session has been closed.
            </summary>
            <value>
            <c>false</c> (by default) if the Session is Open and can be used, 
            <c>true</c> if the Session has had the methods <c>Close()</c> or
            <c>Dispose()</c> invoked.</value>
        </member>
        <member name="F:NHibernate.Impl.SessionImpl.entitiesByKey">
            <summary>
            An <see cref="T:System.Collections.IDictionary"/> with the <see cref="T:NHibernate.Engine.EntityKey"/> as the key
            and an <see cref="T:System.Object"/> as the value.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.SessionImpl.proxiesByKey">
            <summary>
            An <see cref="T:System.Collections.IDictionary"/> with the <see cref="T:NHibernate.Engine.EntityKey"/> as the key
            and an <see cref="T:NHibernate.Proxy.INHibernateProxy"/> as the value.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.SessionImpl.entityEntries">
            <summary>
            An <see cref="T:NHibernate.Util.IdentityMap"/> with the <see cref="T:System.Object"/> as the key
            and an <see cref="T:NHibernate.Impl.EntityEntry"/> as the value.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.SessionImpl.arrayHolders">
            <summary>
            An <see cref="T:NHibernate.Util.IdentityMap"/> with the <see cref="T:System.Array"/> as the key
            and an <see cref="T:NHibernate.Collection.PersistentArrayHolder"/> as the value.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.SessionImpl.collectionEntries">
            <summary>
            An <see cref="T:NHibernate.Util.IdentityMap"/> with the <see cref="T:NHibernate.Collection.IPersistentCollection"/> as the key
            and an <see cref="T:NHibernate.Impl.CollectionEntry"/> as the value.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.SessionImpl.collectionsByKey">
            <summary>
            An <see cref="T:NHibernate.Util.IdentityMap"/> with the <see cref="T:NHibernate.Impl.CollectionKey"/> as the key
            and an <see cref="T:NHibernate.Collection.IPersistentCollection"/> as the value.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.SessionImpl.nullifiables">
            <summary>
            An <see cref="T:Iesi.Collections.ISet"/> of <see cref="T:NHibernate.Engine.EntityKey"/> objects of the deleted entities.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructor used to recreate the Session during the deserialization.
            </summary>
            <param name="info"></param>
            <param name="context"></param>
            <remarks>
            This is needed because we have to do some checking before the serialization process
            begins.  I don't know how to add logic in ISerializable.GetObjectData and have .net
            write all of the serializable fields out.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.System#Runtime#Serialization#ISerializable#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Verify the ISession can be serialized and write the fields to the Serializer.
            </summary>
            <param name="info"></param>
            <param name="context"></param>
            <remarks>
            The fields are marked with [NonSerializable] as just a point of reference.  This method
            has complete control and what is serialized and those attributes are ignored.  However, 
            this method should be in synch with the attributes for easy readability.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.System#Runtime#Serialization#IDeserializationCallback#OnDeserialization(System.Object)">
            <summary>
            Once the entire object graph has been deserialized then we can hook the
            collections, proxies, and entities back up to the ISession.
            </summary>
            <param name="sender"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Close">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.AfterTransactionCompletion(System.Boolean,NHibernate.ITransaction)">
            <summary>
            Ensure that the locks are downgraded to <see cref="F:NHibernate.LockMode.None"/>
            and that all of the softlocks in the <see cref="N:NHibernate.Cache"/> have
            been released.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Cleanup">
            <summary>
            Mark the Session as being closed and Clear out the HashTables of
            entities and proxies along with the Identity Maps for entries, array
            holders, collections, and nullifiables.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.GetEntity(NHibernate.Engine.EntityKey)">
            <summary>
            
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.SetLockMode(System.Object,NHibernate.LockMode)">
            <summary>
            
            </summary>
            <param name="entity"></param>
            <param name="lockMode"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Save(System.Object)">
            <summary>
            Save a transient object. An id is generated, assigned to the object and returned
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Save(System.Object,System.Object)">
            <summary>
            Save a transient object with a manually assigned ID
            </summary>
            <param name="obj"></param>
            <param name="id"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.ReassociateIfUninitializedProxy(System.Object)">
            <summary>
            If the parameter <c>value</c> is an unitialized proxy then it will be reassociated
            with the session. 
            </summary>
            <param name="value">A persistable object, proxy, persistent collection or null</param>
            <returns>
            <c>true</c> when an uninitialized proxy was passed into this method, <c>false</c> otherwise.
            </returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.ReassociateProxy(NHibernate.Proxy.LazyInitializer,NHibernate.Proxy.INHibernateProxy)">
            <summary>
            associate a proxy that was instantiated by another session with this session
            </summary>
            <param name="li"></param>
            <param name="proxy"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.NullifyTransientReferences(System.Object,NHibernate.Type.IType,System.Boolean,System.Object)">
            <summary>
            Return null if the argument is an "unsaved" entity (ie. one with no existing database row), 
            or the input argument otherwise. This is how Hibernate avoids foreign key constraint violations.
            </summary>
            <param name="value"></param>
            <param name="type"></param>
            <param name="earlyInsert"></param>
            <param name="self"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.IsUnsaved(System.Object,System.Boolean,System.Object)">
            <summary>
            determine if the object already exists in the database, using a "best guess"
            </summary>
            <param name="obj"></param>
            <param name="earlyInsert"></param>
            <param name="self"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Delete(System.Object)">
            <summary>
            Delete a persistent object
            </summary>
            <param name="obj"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.CheckNullability(System.Object[],NHibernate.Persister.Entity.IEntityPersister,System.Boolean)">
            <summary>
            Checks to see if there are any Properties that should not be null 
            are references to null or to a transient object.
            </summary>
            <param name="values">An object array of values that should be validated.</param>
            <param name="persister">The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> that describes which values can be null.</param>
            <param name="isUpdate">A <see cref="T:System.Boolean"/> indicating if this is an Update operation.</param>
            <exception cref="T:NHibernate.HibernateException">
            Thrown when a non-nullable property contains a value that would
            persist the value of null to the database.
            </exception>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.ReattachCollection(NHibernate.Collection.IPersistentCollection,NHibernate.Engine.ICollectionSnapshot)">
            <summary>
            Reattach a detached (disassociated) initialized or uninitialized collection wrapper
            </summary>
            <param name="collection"></param>
            <param name="snapshot"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.DoReplicate(System.Object,System.Object,System.Object,NHibernate.ReplicationMode,NHibernate.Persister.Entity.IEntityPersister)">
            <summary>
            Used only by Replicate
            </summary>
            <param name="obj"></param>
            <param name="id"></param>
            <param name="version"></param>
            <param name="replicationMode"></param>
            <param name="persister"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Find(System.String)">
            <summary>
            Retrieve a list of persistent objects using a Hibernate query
            </summary>
            <param name="query"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.CreateFilter(System.Object,System.String)">
            <summary>
            
            </summary>
            <param name="collection"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.CreateQuery(System.String)">
            <summary>
            
            </summary>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.GetNamedQuery(System.String)">
            <summary>
            Obtain an instance of <see cref="T:NHibernate.IQuery"/> for a named query string defined in the
            mapping file.
            </summary>
            <param name="queryName">The name of a query defined externally.</param>
            <returns>An <see cref="T:NHibernate.IQuery"/> fro a named query string.</returns>
            <remarks>
            The query can be either in <c>hql</c> or <c>sql</c> format.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Instantiate(NHibernate.Persister.Entity.IEntityPersister,System.Object)">
            <summary>
            Give the interceptor an opportunity to override the default instantiation
            </summary>
            <param name="persister"></param>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.AutoFlushIfRequired(Iesi.Collections.ISet)">
            <summary>
            detect in-memory changes, determine if the changes are to tables
            named in the query and, if so, complete execution the flush
            </summary>
            <param name="querySpaces"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.NarrowProxy(System.Object,NHibernate.Persister.Entity.IEntityPersister,NHibernate.Engine.EntityKey,System.Object)">
            <summary>
            If the existing proxy is insufficiently "narrow" (derived), instantiate a 
            new proxy and overwrite the registration of the old one. This breaks == and 
            occurs only for "class" proxies rather than "interface" proxies.
            </summary>
            <param name="proxy"></param>
            <param name="persister"></param>
            <param name="key"></param>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.ProxyFor(NHibernate.Persister.Entity.IEntityPersister,NHibernate.Engine.EntityKey,System.Object)">
            <summary>
            Grab the existing proxy for an instance, if one exists.
            (otherwise return the instance)
            </summary>
            <param name="persister"></param>
            <param name="key"></param>
            <param name="impl"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.AddUninitializedEntity(NHibernate.Engine.EntityKey,System.Object,NHibernate.LockMode)">
            <summary>
            Create a "temporary" entry for a newly instantiated entity. The entity is 
            uninitialized, but we need the mapping from id to instance in order to guarantee 
            uniqueness.
            </summary>
            <param name="key"></param>
            <param name="obj"></param>
            <param name="lockMode"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.PostHydrate(NHibernate.Persister.Entity.IEntityPersister,System.Object,System.Object[],System.Object,NHibernate.LockMode)">
            <summary>
            Add the "hydrated state" (an array) of an uninitialized entity to the session. 
            We don't try to resolve any associations yet, because there might be other entities 
            waiting to be read from the ADO datareader we are currently processing
            </summary>
            <param name="persister"></param>
            <param name="id"></param>
            <param name="values"></param>
            <param name="obj"></param>
            <param name="lockMode"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.ImmediateLoad(System.Type,System.Object)">
            <summary> 
             Load the data for the object with the specified id into a newly created object.
             Do NOT return a proxy.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.InternalLoad(System.Type,System.Object,System.Boolean,System.Boolean)">
            <summary>
            Return the object with the specified id or throw exception if no row with that id exists. Defer the load,
            return a new proxy or return an existing proxy if possible. Do not check if the object was deleted.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.DoLoadByObject(System.Object,System.Object,NHibernate.LockMode)">
            <summary>
            Load the data for the object with the specified id into the supplied
            instance. A new key will be assigned to the object. If there is an
            existing uninitialized proxy, this will break identity equals as far
            as the application is concerned.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.DoLoadByClass(System.Type,System.Object,System.Boolean,System.Boolean)">
            <summary>
            Load the data for the object with the specified id into a newly created
            object. A new key will be assigned to the object. If the class supports
            lazy initialization, return a proxy instead, leaving the real work for
            later. This should return an existing proxy where appropriate.
            </summary>
            <param name="clazz">The <see cref="T:System.Type"/> of the object to load.</param>
            <param name="id">The identifier of the object in the database.</param>
            <param name="checkDeleted">
            A boolean indicating if NHiberate should check if the object has or has not been deleted.
            </param>
            <param name="allowProxyCreation">A boolean indicating if it is allowed to return a Proxy instead of an instance of the <see cref="T:System.Type"/>.</param>
            <returns>
            An loaded instance of the object or a proxy of the object is proxies are allowed.
            </returns>
            <remarks>
            If the parameter <c>checkDeleted</c> is <c>false</c> it is possible to return an object that has 
            been deleted by the user in this <see cref="T:NHibernate.ISession"/>.  If the parameter <c>checkDeleted</c> is
            <c>true</c> and the object has been deleted then an <see cref="T:NHibernate.ObjectDeletedException"/> will be
            thrown.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.DoLoad(System.Type,System.Object,NHibernate.LockMode,System.Boolean)">
            <summary>
            Load the data for the object with the specified id into a newly created object
            using "for update", if supported. A new key will be assigned to the object.
            This method always hits the db, and does not create proxies. It should return
            an existing proxy where appropriate.
            </summary>
            <param name="clazz"></param>
            <param name="id"></param>
            <param name="lockMode"></param>
            <param name="allowNull"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Load(System.Type,System.Object,NHibernate.LockMode)">
            <summary>
            Load the data for the object with the specified id into a newly created object
            using "for update", if supported. A new key will be assigned to the object.
            This should return an existing proxy where appropriate.
            
            If the object does not exist in the database, an exception is thrown.
            </summary>
            <param name="clazz"></param>
            <param name="id"></param>
            <param name="lockMode"></param>
            <returns></returns>
            <exception cref="T:NHibernate.ObjectNotFoundException">
            Thrown when the object with the specified id does not exist in the database.
            </exception>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Get(System.Type,System.Object,NHibernate.LockMode)">
            <summary>
            Load the data for the object with the specified id into a newly created object
            using "for update", if supported. A new key will be assigned to the object.
            This should return an existing proxy where appropriate.
            
            If the object does not exist in the database, null is returned.
            </summary>
            <param name="clazz"></param>
            <param name="id"></param>
            <param name="lockMode"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.DoLoad(System.Type,System.Object,System.Object,NHibernate.LockMode,System.Boolean)">
            <summary>
            Actually do all the hard work of loading up an object
            </summary>
            <param name="theClass"></param>
            <param name="id"></param>
            <param name="optionalObject"></param>
            <param name="lockMode"></param>
            <param name="checkDeleted"></param>
            <returns></returns>
            <remarks>
            1. see if it is already loaded
            2. see if it is cached
            3. actually go to the database
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.InitializeEntity(System.Object)">
            <summary>
            After processing a JDBC result set, we "resolve" all the associations
            between the entities which were instantiated and had their state
            "hydrated" into an array
            </summary>
            <param name="obj"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Flush">
            <summary>
            
            </summary>
            <remarks>
            This can be called from commit() or at the start of a Find() method.
            <para>
            Perform all the necessary SQL statements in a sensible order, to allow
            users to repect foreign key constraints:
            <list type="">
            	<item>Inserts, in the order they were performed</item>
            	<item>Updates</item>
            	<item>Deletion of collection elements</item>
            	<item>Insertion of collection elements</item>
            	<item>Deletes, in the order they were performed</item>
            </list>
            </para>
            <para>
            Go through all the persistent objects and look for collections they might be
            holding. If they had a nonpersistable collection, substitute a persistable one
            </para>
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Execute">
            Execute all SQL and second-level cache updates, in a
            special order so that foreign-key constraints cannot
            be violated:
            <ol>
            <li> Inserts, in the order they were performed </li>
            <li> Updates</li>
            <li> Deletion of collection elements</li>
            <li> Insertion of collection elements</li>
            <li> Deletes, in the order they were performed</li>
            </ol>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.FlushEntities">
            <summary>
            1. detect any dirty entities
            2. schedule any entity updates
            3. search out any reachable collections
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.PreFlushEntities">
            <summary>
            Process cascade save/update at the start of a flush to discover
            any newly referenced entity that must be passed to
            <see cref="M:NHibernate.Impl.SessionImpl.SaveOrUpdate(System.Object)"/> and also apply orphan delete
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.GetIdentifier(System.Object)">
            <summary>
            Not for internal use
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.GetEntityIdentifier(System.Object)">
            <summary>
            Get the id value for an object that is actually associated with the session.
            This is a bit stricter than GetEntityIdentifierIfNotUnsaved().
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.IsSaved(System.Object)">
            <summary>
            
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.GetEntityIdentifierIfNotUnsaved(System.Object)">
            <summary>
            Used by OneToOneType and ManyToOneType to determine what id value
            should be used for an object that may or may not be associated with
            the session. This does a "best guess" using any/all info available
            to use (not just the EntityEntry).
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.FlushCollections">
            <summary>
            process any unreferenced collections and then inspect all known collections,
            scheduling creates/removes/updates
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.PostFlush">
            <summary>
            1. Recreate the collection key -> collection map
            2. rebuild the collection entries
            3. call Interceptor.postFlush()
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.PreFlushCollections">
            <summary>
            Initialize the flags of the CollectionEntry, including the
            dirty check.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.UpdateReachableCollection(NHibernate.Collection.IPersistentCollection,NHibernate.Type.IType,System.Object)">
            <summary>
            Initialize the role of the collection.
            The CollectionEntry.reached stuff is just to detect any silly users who set up
            circular or shared references between/to collections.
            </summary>
            <param name="coll"></param>
            <param name="type"></param>
            <param name="owner"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.UpdateUnreachableCollection(NHibernate.Collection.IPersistentCollection)">
            <summary>
            record the fact that this collection was dereferenced
            </summary>
            <param name="coll"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.PrepareCollectionForUpdate(NHibernate.Collection.IPersistentCollection,NHibernate.Impl.CollectionEntry)">
            <summary>
            1. record the collection role that this collection is referenced by
            2. decide if the collection needs deleting/creating/updating (but
               don't actually schedule the action yet)
            </summary>
            <param name="coll"></param>
            <param name="entry"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.AddUninitializedCollection(NHibernate.Collection.IPersistentCollection,NHibernate.Persister.Collection.ICollectionPersister,System.Object)">
            <summary>
            add a collection we just loaded up (still needs initializing)
            </summary>
            <param name="collection"></param>
            <param name="persister"></param>
            <param name="id"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.AddInitializedCollection(NHibernate.Collection.IPersistentCollection,NHibernate.Persister.Collection.ICollectionPersister,System.Object)">
            <summary>
            add a collection we just pulled out of the cache (does not need initializing)
            </summary>
            <param name="collection"></param>
            <param name="persister"></param>
            <param name="id"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.AddNewCollection(NHibernate.Collection.IPersistentCollection,NHibernate.Persister.Collection.ICollectionPersister)">
            <summary>
            Add a new collection (i.e. a newly created one, just instantiated by
            the application, with no database state or snapshot)
            </summary>
            <param name="collection"></param>
            <param name="persister"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.AddInitializedDetachedCollection(NHibernate.Collection.IPersistentCollection,NHibernate.Engine.ICollectionSnapshot)">
            <summary>
            Add an (initialized) collection that was created by another session and passed
            into update() (i.e. one with a snapshot and existing state on the database)
            </summary>
            <param name="collection"></param>
            <param name="cs"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.GetArrayHolder(System.Object)">
            <summary>
            
            </summary>
            <param name="array"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.AddArrayHolder(NHibernate.Collection.PersistentArrayHolder)">
            <summary>
            associate a holder with an array - called after loading an array
            </summary>
            <param name="holder"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.InitializeCollection(NHibernate.Collection.IPersistentCollection,System.Boolean)">
            <summary>
            called by a collection that wants to initialize itself
            </summary>
            <param name="collection"></param>
            <param name="writing"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Disconnect">
            <summary></summary>
        </member>
        <member name="F:NHibernate.Impl.SessionImpl._isAlreadyDisposed">
            <summary>
            A flag to indicate if <c>Dispose()</c> has been called.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Finalize">
            <summary>
            Finalizer that ensures the object is correctly disposed of.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Dispose">
            <summary>
            Just in case the user forgot to Commit() or Close()
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Dispose(System.Boolean)">
            <summary>
            Takes care of freeing the managed and unmanaged resources that 
            this class is responsible for.
            </summary>
            <param name="isDisposing">Indicates if this Session is being Disposed of or Finalized.</param>
            <remarks>
            If this Session is being Finalized (<c>isDisposing==false</c>) then make sure not
            to call any methods that could potentially bring this Session back to life.
            </remarks>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.GetFilterTranslator(System.Object,System.String,NHibernate.Engine.QueryParameters,System.Boolean)">
            <summary>
            1. determine the collection role of the given collection (this may require a flush, if the collection is recorded as unreferenced)
            2. obtain a compiled filter query
            3. autoflush if necessary
            </summary>
            <param name="collection"></param>
            <param name="filter"></param>
            <param name="parameters"></param>
            <param name="scalar"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.GetCollectionEntryOrNull(System.Object)">
            <summary>
            Get the collection entry for a collection passed to filter,
            which might be a collection wrapper, an array, or an unwrapped
            collection. Return <c>null</c> if there is no entry.
            </summary>
            <param name="collection"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Evict(System.Object)">
            <summary>
            remove any hard references to the entity that are held by the infrastructure
            (references held by application or other persistant instances are okay)
            </summary>
            <param name="obj"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.EvictCachedCollections(NHibernate.Persister.Entity.IEntityPersister,System.Object)">
            <summary>
            Evict collections from the factory-level cache
            </summary>
            <param name="persister"></param>
            <param name="id"></param>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.GetCollectionBatch(NHibernate.Persister.Collection.ICollectionPersister,System.Object,System.Int32)">
            <summary>
            
            </summary>
            <param name="collectionPersister"></param>
            <param name="id"></param>
            <param name="batchSize"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.Clear">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.LoadByUniqueKey(System.Type,System.String,System.Object)">
            <summary>
            
            </summary>
            <param name="clazz"></param>
            <param name="uniqueKeyPropertyName"></param>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.GetCollection(System.String,System.Object,System.Object)">
            <summary>
            Instantiate a collection wrapper (called when loading an object)
            </summary>
            <param name="role"></param>
            <param name="id"></param>
            <param name="owner"></param>
            <returns></returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.InitializeCollectionFromCache(System.Object,System.Object,NHibernate.Persister.Collection.ICollectionPersister,NHibernate.Collection.IPersistentCollection)">
            <summary>
            Try to initialize a Collection from the cache.
            </summary>
            <param name="id"></param>
            <param name="owner"></param>
            <param name="persister"></param>
            <param name="collection"></param>
            <returns><c>true</c> if the collection was initialized from the cache, otherwise <c>false</c>.</returns>
        </member>
        <member name="M:NHibernate.Impl.SessionImpl.SaveOrUpdateCopy(System.Object)">
            <summary>
            
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="P:NHibernate.Impl.SessionImpl.Batcher">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionImpl.Factory">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionImpl.Timestamp">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionImpl.FlushMode">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Impl.SessionImpl.IsConnected">
            <summary>
            Gets if the ISession is connected.
            </summary>
            <value>
            <c>true</c> if the ISession is connected.
            </value>
            <remarks>
            An ISession is considered connected if there is an <see cref="T:System.Data.IDbConnection"/> (regardless
            of its state) or if it the field <c>connect</c> is true.  Meaning that it will connect
            at the next operation that requires a connection.
            </remarks>
        </member>
        <member name="T:NHibernate.Impl.SqlClientBatchingBatcher">
            <summary>
            Summary description for SqlClientBatchingBatcher.
            </summary>
        </member>
        <member name="T:NHibernate.Impl.SqlClientSqlCommandSet">
            <summary>
            Expose the batch functionality in ADO.Net 2.0
            Microsoft in its wisdom decided to make my life hard and mark it internal.
            Through the use of Reflection and some delegates magic, I opened up the functionality.
            
            Observable performance benefits are 50%+ when used, so it is really worth it.
            </summary>
        </member>
        <member name="M:NHibernate.Impl.SqlClientSqlCommandSet.Append(System.Data.SqlClient.SqlCommand)">
            <summary>
            Append a command to the batch
            </summary>
            <param name="command"></param>
        </member>
        <member name="M:NHibernate.Impl.SqlClientSqlCommandSet.AssertHasParameters(System.Data.SqlClient.SqlCommand)">
            <summary>
            This is required because SqlClient.SqlCommandSet will throw if 
            the command has no parameters.
            </summary>
            <param name="command"></param>
        </member>
        <member name="M:NHibernate.Impl.SqlClientSqlCommandSet.ExecuteNonQuery">
            <summary>
            Executes the batch
            </summary>
            <returns>
            This seems to be returning the total number of affected rows in all queries
            </returns>
        </member>
        <member name="M:NHibernate.Impl.SqlClientSqlCommandSet.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:NHibernate.Impl.SqlClientSqlCommandSet.BatchCommand">
            <summary>
            Return the batch command to be executed
            </summary>
        </member>
        <member name="P:NHibernate.Impl.SqlClientSqlCommandSet.CountOfCommands">
            <summary>
            The number of commands batched in this instance
            </summary>
        </member>
        <member name="T:NHibernate.Impl.SqlQueryImpl">
            <summary>
            Implements SQL query passthrough
            </summary>
            <example>
            An example mapping is:
            <code>
            &lt;sql-query-name name="mySqlQuery"&gt;
            &lt;return alias="person" class="eg.Person" /&gt;
            	SELECT {person}.NAME AS {person.name}, {person}.AGE AS {person.age}, {person}.SEX AS {person.sex}
            	FROM PERSON {person} WHERE {person}.NAME LIKE 'Hiber%'
            &lt;/sql-query-name&gt;
            </code>
            </example>
        </member>
        <member name="M:NHibernate.ISQLQuery.AddEntity(System.String)">
            <summary>
            Declare a "root" entity, without specifying an alias
            </summary>
        </member>
        <member name="M:NHibernate.ISQLQuery.AddEntity(System.String,System.String)">
            <summary>
            Declare a "root" entity
            </summary>
        </member>
        <member name="M:NHibernate.ISQLQuery.AddEntity(System.String,System.String,NHibernate.LockMode)">
            <summary>
            Declare a "root" entity, specifying a lock mode
            </summary>
        </member>
        <member name="M:NHibernate.ISQLQuery.AddEntity(System.Type)">
            <summary>
            Declare a "root" entity, without specifying an alias
            </summary>
        </member>
        <member name="M:NHibernate.ISQLQuery.AddEntity(System.String,System.Type)">
            <summary>
            Declare a "root" entity
            </summary>
        </member>
        <member name="M:NHibernate.ISQLQuery.AddEntity(System.String,System.Type,NHibernate.LockMode)">
            <summary>
            Declare a "root" entity, specifying a lock mode
            </summary>
        </member>
        <member name="M:NHibernate.ISQLQuery.AddJoin(System.String,System.String)">
            <summary>
            Declare a "joined" entity
            </summary>
        </member>
        <member name="M:NHibernate.ISQLQuery.AddJoin(System.String,System.String,NHibernate.LockMode)">
            <summary>
            Declare a "joined" entity, specifying a lock mode
            </summary>
        </member>
        <member name="M:NHibernate.ISQLQuery.AddScalar(System.String,NHibernate.Type.IType)">
            <summary>
            Declare a scalar query result
            </summary>
        </member>
        <member name="M:NHibernate.ISQLQuery.SetResultSetMapping(System.String)">
            <summary>
            Use a predefined named ResultSetMapping
            </summary>
        </member>
        <member name="T:NHibernate.Impl.Status">
            <summary>
            Represents the status of an entity with respect to 
            this session. These statuses are for internal 
            book-keeping only and are not intended to represent 
            any notion that is visible to the <b>application</b>. 
            </summary>
        </member>
        <member name="F:NHibernate.Impl.Status.Loaded">
            <summary>
            The Entity is snapshotted in the Session with the same state as the database.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.Status.Deleted">
            <summary>
            The Entity is in the Session and has been marked for deletion but not
            deleted from the database yet.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.Status.Gone">
            <summary>
            The Entity has been deleted from database.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.Status.Loading">
            <summary>
            The Entity is in the process of being loaded.
            </summary>
        </member>
        <member name="F:NHibernate.Impl.Status.Saving">
            <summary>
            The Entity is in the process of being saved.
            </summary>
        </member>
        <member name="T:NHibernate.Impl.WrapVisitor">
            <summary>
            Wrap collections in a NHibernate collection wrapper.
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Collection.BasicCollectionJoinWalker">
            <summary>
            Walker for collections of values and many-to-many associations
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Collection.CollectionJoinWalker">
            <summary>
            Superclass of walkers for collection initializers
            <seealso cref="T:NHibernate.Loader.Collection.CollectionLoader"/>
            <seealso cref="T:NHibernate.Loader.Collection.OneToManyJoinWalker"/>
            <seealso cref="T:NHibernate.Loader.Collection.BasicCollectionJoinWalker"/>
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.AddAssociationToJoinTreeIfNecessary(NHibernate.Type.IAssociationType,System.String[],System.String,System.String,System.Int32,NHibernate.SqlCommand.JoinType)">
            <summary>
            Add on association (one-to-one, many-to-one, or a collection) to a list
            of associations to be fetched by outerjoin (if necessary)
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.AddAssociationToJoinTree(NHibernate.Type.IAssociationType,System.String[],System.String,System.String,System.Int32,NHibernate.SqlCommand.JoinType)">
            <summary>
            Add on association (one-to-one, many-to-one, or a collection) to a list
            of associations to be fetched by outerjoin
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.WalkEntityTree(NHibernate.Persister.Entity.IOuterJoinLoadable,System.String)">
            <summary>
            For an entity class, return a list of associations to be fetched by outerjoin
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.WalkCollectionTree(NHibernate.Persister.Collection.IQueryableCollection,System.String)">
            <summary>
            For a collection role, return a list of associations to be fetched by outerjoin
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.WalkCollectionTree(NHibernate.Persister.Collection.IQueryableCollection,System.String,System.String,System.Int32)">
            <summary>
            For a collection role, return a list of associations to be fetched by outerjoin
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.WalkEntityTree(NHibernate.Persister.Entity.IOuterJoinLoadable,System.String,System.String,System.Int32)">
            <summary>
            For an entity class, add to a list of associations to be fetched
            by outerjoin
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.WalkComponentTree(NHibernate.Type.IAbstractComponentType,System.Int32,System.Int32,NHibernate.Persister.Entity.IOuterJoinLoadable,System.String,System.String,System.Int32)">
            <summary>
            For a component, add to a list of associations to be fetched by outerjoin
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.WalkCompositeElementTree(NHibernate.Type.IAbstractComponentType,System.String[],NHibernate.Persister.Collection.IQueryableCollection,System.String,System.String,System.Int32)">
            <summary>
            For a composite element, add to a list of associations to be fetched by outerjoin
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.SubPath(System.String,System.String)">
            <summary>
            Extend the path by the given property name
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.GetJoinType(NHibernate.Type.IAssociationType,NHibernate.FetchMode,System.String,System.String,System.String[],System.Boolean,System.Int32,NHibernate.Engine.Cascades.CascadeStyle)">
            <summary>
            Get the join type (inner, outer, etc) or -1 if the
            association should not be joined. Override on
            subclasses.
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.GetJoinType(System.Boolean,System.Int32)">
            <summary>
            Use an inner join if it is a non-null association and this
            is the "first" join in a series
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.IsJoinedFetchEnabledInMapping(NHibernate.FetchMode,NHibernate.Type.IAssociationType)">
            <summary>
            Does the mapping, and Hibernate default semantics, specify that
            this association should be fetched by outer joining
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.IsJoinedFetchEnabled(NHibernate.Type.IAssociationType,NHibernate.FetchMode,NHibernate.Engine.Cascades.CascadeStyle)">
            <summary>
            Override on subclasses to enable or suppress joining
            of certain association types
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.IsDuplicateAssociation(System.String,System.String[])">
            <summary>
            Used to detect circularities in the joined graph, note that
            this method is side-effecty
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.IsDuplicateAssociation(System.String,System.String[],NHibernate.Type.IAssociationType)">
            <summary>
            Used to detect circularities in the joined graph, note that
            this method is side-effecty
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.IsJoinable(NHibernate.SqlCommand.JoinType,Iesi.Collections.ISet,System.String,System.String[],NHibernate.Type.IAssociationType,System.Int32)">
            <summary>
            Should we join this association?
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.MergeOuterJoins(System.Collections.IList)">
            <summary>
            Generate a sequence of <c>LEFT OUTER JOIN</c> clauses for the given associations.
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.CountEntityPersisters(System.Collections.IList)">
            <summary>
            Count the number of instances of IJoinable which are actually
            also instances of ILoadable, or are one-to-many associations
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.CountCollectionPersisters(System.Collections.IList)">
            <summary>
            Count the number of instances of <see cref="T:NHibernate.Persister.Entity.IJoinable"/> which
            are actually also instances of <see cref="T:NHibernate.Collection.IPersistentCollection"/>
            which are being fetched by outer join
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.OrderBy(System.Collections.IList)">
            <summary>
            Get the order by string required for collection fetching
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.WhereString(System.String,System.String[],NHibernate.Type.IType,System.Int32)">
            <summary>
            Render the where condition for a (batch) load by identifier / collection key
            </summary>
        </member>
        <member name="M:NHibernate.Loader.JoinWalker.SelectString(System.Collections.IList)">
            <summary>
            Generate a select list of columns containing all properties of the entity classes
            </summary>
        </member>
        <member name="T:NHibernate.Loader.JoinWalker.AssociationKey">
            <summary>
            Uniquely identifier a foreign key, so that we don't
            join it more than once, and create circularities
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Collection.BasicCollectionJoinWalker.GetJoinType(NHibernate.Type.IAssociationType,NHibernate.FetchMode,System.String,Iesi.Collections.ISet,System.String,System.String[],System.Boolean,System.Int32,NHibernate.Engine.Cascades.CascadeStyle)">
            <summary>
            We can use an inner join for first many-to-many association
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Collection.CollectionLoader">
            <summary>
            Superclass for loaders that initialize collections
            <seealso cref="T:NHibernate.Loader.Collection.OneToManyLoader"/>
            <seealso cref="T:NHibernate.Loader.Collection.BasicCollectionLoader"/>
            </summary>
        </member>
        <member name="T:NHibernate.Loader.OuterJoinLoader">
            <summary>
            Implements logic for walking a tree of associated classes.
            </summary>
            <remarks>
            Generates an SQL select string containing all properties of those classes.
            Tablse are joined using an ANSI-style left outer join.
            </remarks>
        </member>
        <member name="T:NHibernate.Loader.Collection.ICollectionInitializer">
            <summary>
            An interface for collection loaders
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Collection.ICollectionInitializer.Initialize(System.Object,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Initialize the given collection
            </summary>
            <param name="id"></param>
            <param name="session"></param>
        </member>
        <member name="T:NHibernate.Loader.Collection.BatchingCollectionInitializer">
            <summary>
            "Batch" loads collections, using multiple foreign key values in the SQL Where clause
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Collection.OneToManyJoinWalker">
            <summary>
            Walker for one-to-many associations
            <seealso cref="T:NHibernate.Loader.Collection.OneToManyLoader"/>
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Collection.OneToManyLoader">
            <summary>
            Loads one-to-many associations
            </summary>
            <remarks>
            The collection persister must implement <see cref="T:NHibernate.Persister.Collection.IQueryableCollection"/>.
            For other collections, create a customized subclass of <see cref="T:NHibernate.Loader.Loader"/>.
            </remarks>
        </member>
        <member name="T:NHibernate.Loader.Collection.SubselectOneToManyLoader">
            <summary>
            Implements subselect fetching for a one to many association
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Criteria.CriteriaJoinWalker">
            <summary>
            A <see cref="T:NHibernate.Loader.JoinWalker"/> for <see cref="T:NHibernate.ICriteria"/> queries.
            </summary>
        </member>
        <member name="M:NHibernate.Loader.AbstractEntityJoinWalker.IsJoinedFetchEnabled(NHibernate.Type.IAssociationType,NHibernate.FetchMode,NHibernate.Engine.Cascades.CascadeStyle)">
            <summary>
            The superclass deliberately excludes collections
            </summary>
        </member>
        <member name="P:NHibernate.Loader.AbstractEntityJoinWalker.WhereFragment">
            <summary>
            Don't bother with the discriminator, unless overridden by subclass
            </summary>
        </member>
        <member name="P:NHibernate.Loader.Criteria.CriteriaJoinWalker.WhereFragment">
            <summary>
            Use the discriminator, to narrow the select to instances
            of the queried subclass, also applying any filters.
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Criteria.CriteriaLoader">
            <summary>
            A <c>Loader</c> for <see cref="T:NHibernate.ICriteria"/> queries. 
            </summary>
            <remarks>
            Note that criteria
            queries are more like multi-object <c>Load()</c>s than like HQL queries.
            </remarks>
        </member>
        <member name="M:NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetColumnsUsingProjection(NHibernate.ICriteria,System.String)">
            <summary>
            Get the names of the columns constrained
            by this criterion.
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetTypedValue(NHibernate.ICriteria,System.String,System.Object)">
            <summary>
            Get the a typed value for the given property value.
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Custom.ColumnCollectionAliases">
            <summary>
            <see cref="T:NHibernate.Loader.ICollectionAliases"/> that uses columnnames instead of generated aliases.
            Aliases can still be overwritten via <c>&lt;return-property&gt;</c>
            </summary>
        </member>
        <member name="T:NHibernate.Loader.ICollectionAliases">
            <summary>
            Type definition of CollectionAliases.
            </summary>
        </member>
        <member name="P:NHibernate.Loader.ICollectionAliases.SuffixedKeyAliases">
            <summary>
            Returns the suffixed result-set column-aliases for columns making
            up the key for this collection (i.e., its FK to its owner).
            </summary>
            <value>The key result-set column aliases.</value>
        </member>
        <member name="P:NHibernate.Loader.ICollectionAliases.SuffixedIndexAliases">
            <summary>
            Returns the suffixed result-set column-aliases for the collumns
            making up the collection's index (map or list).
            </summary>
            <value>The index result-set column aliases.</value>
        </member>
        <member name="P:NHibernate.Loader.ICollectionAliases.SuffixedElementAliases">
            <summary>
            Returns the suffixed result-set column-aliases for the columns
            making up the collection's elements.
            </summary>
            <value>The element result-set column aliases.</value>
        </member>
        <member name="P:NHibernate.Loader.ICollectionAliases.SuffixedIdentifierAlias">
            <summary>
            Returns the suffixed result-set column-aliases for the column
            defining the collection's identifier (if any).
            </summary>
            <value>The identifier result-set column aliases.</value>
        </member>
        <member name="P:NHibernate.Loader.ICollectionAliases.Suffix">
            <summary>
            Returns the suffix used to unique the column aliases for this
            particular alias set.
            </summary>
            <value>The uniqued column alias suffix.</value>
        </member>
        <member name="P:NHibernate.Loader.Custom.ColumnCollectionAliases.SuffixedKeyAliases">
            <summary>
            Returns the suffixed result-set column-aliases for columns making up the key for this collection (i.e., its FK to
            its owner).
            </summary>
            <value>The key result-set column aliases.</value>
        </member>
        <member name="P:NHibernate.Loader.Custom.ColumnCollectionAliases.SuffixedIndexAliases">
            <summary>
            Returns the suffixed result-set column-aliases for the collumns making up the collection's index (map or list).
            </summary>
            <value>The index result-set column aliases.</value>
        </member>
        <member name="P:NHibernate.Loader.Custom.ColumnCollectionAliases.SuffixedElementAliases">
            <summary>
            Returns the suffixed result-set column-aliases for the columns making up the collection's elements.
            </summary>
            <value>The element result-set column aliases.</value>
        </member>
        <member name="P:NHibernate.Loader.Custom.ColumnCollectionAliases.SuffixedIdentifierAlias">
            <summary>
            Returns the suffixed result-set column-aliases for the column defining the collection's identifier (if any).
            </summary>
            <value>The identifier result-set column aliases.</value>
        </member>
        <member name="P:NHibernate.Loader.Custom.ColumnCollectionAliases.Suffix">
            <summary>
            Returns the suffix used to unique the column aliases for this particular alias set.
            </summary>
            <value>The uniqued column alias suffix.</value>
        </member>
        <member name="T:NHibernate.Loader.Custom.ColumnEntityAliases">
            <summary>
            <see cref="T:NHibernate.Loader.IEntityAliases"/> that chooses the column names over the alias names.
            </summary>
        </member>
        <member name="T:NHibernate.Loader.DefaultEntityAliases">
            <summary>
            EntityAliases which handles the logic of selecting user provided aliases (via return-property),
            before using the default aliases.
            </summary>
        </member>
        <member name="T:NHibernate.Loader.IEntityAliases">
            <summary>
            Metadata describing the SQL result set column aliases
            for a particular entity
            </summary>
        </member>
        <member name="M:NHibernate.Loader.IEntityAliases.GetSuffixedPropertyAliases(NHibernate.Persister.Entity.ILoadable)">
            <summary>
            The result set column aliases for the property columns of a subclass
            </summary>
        </member>
        <member name="P:NHibernate.Loader.IEntityAliases.SuffixedKeyAliases">
            <summary>
            The result set column aliases for the primary key columns
            </summary>
        </member>
        <member name="P:NHibernate.Loader.IEntityAliases.SuffixedDiscriminatorAlias">
            <summary>
            The result set column aliases for the discriminator columns
            </summary>
        </member>
        <member name="P:NHibernate.Loader.IEntityAliases.SuffixedVersionAliases">
            <summary>
            The result set column aliases for the version columns
            </summary>
        </member>
        <member name="P:NHibernate.Loader.IEntityAliases.SuffixedPropertyAliases">
            <summary>
            The result set column aliases for the property columns
            </summary>
        </member>
        <member name="P:NHibernate.Loader.IEntityAliases.RowIdAlias">
            <summary>
            The result set column alias for the Oracle row id
            </summary>
        </member>
        <member name="M:NHibernate.Loader.DefaultEntityAliases.#ctor(System.Collections.IDictionary,NHibernate.Persister.Entity.ILoadable,System.String)">
            <summary>
            Calculate and cache select-clause suffixes.
            </summary>
        </member>
        <member name="P:NHibernate.Loader.Custom.ICustomQuery.NamedParameterBindPoints">
            <summary>
            Optional, may return <c>null</c>
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Custom.SQLQueryParser.substituteParams(System.String)">
             Substitues JDBC parameter placeholders (?) for all encountered
             parameter specifications.  It also tracks the positions of these
             parameter specifications within the query string.  This accounts for
             ordinal-params, named-params, and ejb3-positional-params.
            
             @param sqlString The query string.
             @return The SQL query with parameter substitution complete.
        </member>
        <member name="T:NHibernate.Loader.Custom.SQLQueryCollectionReturn">
            <summary>
            Represents a return defined as part of a native sql query which
            names a collection role in the form {classname}.{collectionrole}; it
            is used in defining a custom sql query for loading an entity's
            collection in non-fetching scenarios (i.e., loading the collection
            itself as the "root" of the result).
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Custom.SQLQueryNonScalarReturn">
            <summary>
            Represents the base information for a return defined as part of
            a native sql query.
            </summary>
        </member>
        <member name="P:NHibernate.Loader.Custom.SQLQueryCollectionReturn.OwnerEntityName">
            <summary>
            Returns the class owning the collection.
            </summary>
        </member>
        <member name="P:NHibernate.Loader.Custom.SQLQueryCollectionReturn.OwnerProperty">
            <summary>
            Returns the name of the property representing the collection from the <see cref="P:NHibernate.Loader.Custom.SQLQueryCollectionReturn.OwnerEntityName"/>.
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Custom.SQLQueryJoinReturn">
            <summary>
            Represents a return defined as part of a native sql query which
            names a fetched role.
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Custom.SQLQueryRootReturn">
            <summary>
            Represents a return defined as part of a native sql query which
            names a "root" entity.  A root entity means it is explicitly a
            "column" in the result, as opposed to a fetched relationship or role.
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Entity.AbstractEntityLoader">
            <summary>
            Abstract superclass for entity loaders that use outer joins
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Entity.IUniqueEntityLoader">
            <summary></summary>
        </member>
        <member name="M:NHibernate.Loader.Entity.IUniqueEntityLoader.Load(System.Object,System.Object,NHibernate.Engine.ISessionImplementor)">
            <summary>
            Load an entity instance. If <c>OptionalObject</c> is supplied, load the entity
            state into the given (uninitialized) object
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Entity.BatchingEntityLoader">
            <summary>
            "Batch" loads entities, using multiple primary key values in the
            SQL <c>where</c> clause.
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Entity.EntityJoinWalker">
            <summary>
            A walker for loaders that fetch entities
            </summary>
        </member>
        <member name="M:NHibernate.Loader.Entity.EntityJoinWalker.IsJoinedFetchEnabled(NHibernate.Type.IAssociationType,NHibernate.FetchMode,NHibernate.Engine.Cascades.CascadeStyle)">
            <summary>
            Disable outer join fetching if this loader obtains an
            upgrade lock mode
            </summary>
        </member>
        <member name="T:NHibernate.Loader.Entity.EntityLoader">
            <summary>
            Load an entity using outerjoin fetching to fetch associated entities.
            </summary>
            <remarks>
            The <see cref="T:NHibernate.Persister.Entity.IEntityPersister"/> must implement <see cref="T:NHibernate.Persister.Entity.ILoadable"/>. For other entities,
            create a customized subclass of <see cref="T:NHibernate.Loader.Loader"/>.
            </remarks>
        </member>
        <member name="T:NHibernate.Loader.GeneratedCollectionAliases">
            <summary>
            CollectionAliases which handles the logic of selecting user provided aliases (via return-property),
            before using the default aliases.
            </summary>
        </member>
        <member name="P:NHibernate.Loader.GeneratedCollectionAliases.SuffixedKeyAliases">
            <summary>
            Returns the suffixed result-set column-aliases for columns making up the key for this collection (i.e., its FK to
            its owner).
            </summary>
        </member>
        <member name="P:NHibernate.Loader.GeneratedCollectionAliases.SuffixedIndexAliases">
            <summary>
            Returns the suffixed result-set column-aliases for the collumns making up the collection's index (map or list).
            </summary>
        </member>
        <member name="P:NHibernate.Loader.GeneratedCollectionAliases.SuffixedElementAliases">
            <summary>
            Returns the suffixed result-set column-aliases for the columns making up the collection's elements.
            </summary>
        </member>
        <member name="P:NHibernate.Loader.GeneratedCollectionAliases.SuffixedIdentifierAlias">
            <summary>
            Returns the suffixed result-set column-aliases for the column defining the collection's identifier (if any).
            </summary>
        </member>
        <member name="P:NHibernate.Loader.GeneratedCollectionAliases.Suffix">
            <summary>
            Returns the suffix used to unique the column aliases for this particular alias set.
            </summary>
        </member>
        <member name="M:NHibernate.Loader.OuterJoinableAssociation.GetPosition(System.String,System.Collections.IList)">
            <summary>
            Get the position of the join with the given alias in the
            list of joins
            </summary>
        </member>
        <member name="T:NHibernate.Mapping.IRelationalModel">
            <summary>
            Operations to create/drop the mapping element in the database.
            </summary>
        </member>
        <member name="M:NHibernate.Mapping.IRelationalModel.SqlCreateString(NHibernate.Dialect.Dialect,NHibernate.Engine.IMapping,System.String)">
            <summary>
            When implemented by a class, generates the SQL string to create 
            the mapping element in the database.
            </summary>
            <param name="dialect">The <see cref="T:NHibernate.Dialect.Dialect"/> to use for SQL rules.</param>
            <param name="p"></param>
            <param name="defaultSchema"></param>
            <returns>
            A string that contains the SQL to create an object.
            </returns>
        </member>
        <member name="M:NHibernate.Mapping.IRelationalModel.SqlDropString(NHibernate.Dialect.Dialect,System.String)">
            <summary>
            When implemented by a class, generates the SQL string to drop 
            the mapping element from the database.
            </summary>
            <param name="dialect">The <see cref="T:NHibernate.Dialect.Dialect"/> to use for SQL rules.</param>
            <param name="defaultSchema"></param>
            <returns>
            A string that contains the SQL to drop an object.
            </returns>
        </member>
        <member name="T:NHibernate.Mapping.Any">
            <summary>
            A NHibernate <c>any</c> type.
            </summary>
            <remarks>
            Polymorphic association to one of several tables.
            </remarks>
        </member>
        <member name="T:NHibernate.Mapping.SimpleValue">
            <summary>
            Any value that maps to columns.
            </summary>
        </member>
        <member name="T:NHibernate.Mapping.IKeyValue">
            <summary>
            Represents an identifying key of a table: the value for primary key
            of an entity, or a foreign key of a collection or join table or
            joined subclass table.
            </summary>
            <remarks>
            Author: Gavin King
            </remarks>
        </member>
        <member name="T:NHibernate.Mapping.IValue">
            <summary>
            A value is anything that is persisted by value, instead of
            by reference. It is essentially a Hibernate IType, together
            with zero or more columns. Values are wrapped by things with 
            higher level semantics, for example properties, collections, 
            classes.
            </summary>
        </member>
        <member name="M:NHibernate.Mapping.IValue.CreateForeignKey">
            <summary>
            
            </summary>
        </member>
        <member name="M:NHibernate.Mapping.IValue.IsValid(NHibernate.Engine.IMapping)">
            <summary>
            Determines if the Value is part of a valid mapping.
            </summary>
            <param name="mapping">The <see cref="T:NHibernate.Engine.IMapping"/> to validate.</param>
            <returns>
            <c>true</c> if the Value is part of a valid mapping, <c>false</c>
            otherwise.
            </returns>
            <exception cref="T:NHibernate.MappingException"></exception>
            <remarks>
            Mainly used to make sure that Value maps to the correct number
            of columns.
            </remarks>
        </member>
        <member name="P:NHibernate.Mapping.IValue.ColumnSpan">
            <summary>
            Gets the number of columns that this value spans in the table.
            </summary>
        </member>
        <member name="P:NHibernate.Mapping.IValue.ColumnCollection">
            <summary>
            Gets an <see cref="T:System.Collections.ICollection"/> of <see cref="T:NHibernate.Mapping.Column"/> objects
            that this value is stored in.
            </summary>
        </member>
        <member name="P:NHibernate.Mapping.IValue.Type">
            <summary>
            Gets the <see cref="T:NHibernate.Type.IType"/> to read/write the Values.
            </summary>
        </member>
        <member name="P:NHibernate.Mapping.IValue.Table">
            <summary>
            Gets the <see cref="P:NHibernate.Mapping.IValue.Table"/> this Value is stored in.
            </summary>
        </member>
        <member name="P:NHibernate.Mapping.IValue.IsUnique">
            <summary>
            Gets a <see cref="T:System.Boolean"/> indicating if this Value is unique.
            </summary>
        </member>
        <member name="P:NHibernate.Mapping.IValue.IsNullable">
            <summary>
            Gets a <see cref="T:System.Boolean"/> indicating if this Value can have
            null values.
            </summary>
        </member>
        <member name="P:NHibernate.Mapping.IValue.IsSimpleValue">
            <summary>
            Gets a <see cref="T:System.Boolean"/> indicating if this is a SimpleValue
            that does not involve foreign keys.
            </summary>
        </member>
        <member name="M:NHibernate.Mapping.Any.#ctor(NHibernate.Mapping.Table)">
            <summary>
            
            </summary>
            <param name="table"></param>
        </member>
        <member name="M:NHibernate.Mapping.Any.SetTypeByReflection(System.Type,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="propertyClass"></param>
            <param name="propertyName"></param>
            <param name="propertyAccess"></param>
        </member>
        <member name="P:NHibernate.Mapping.Any.IdentifierType">
            <summary>
            Get or set the identifier type 
            </summary>
        </member>
        <member name="P:NHibernate.Mapping.Any.Type">
            <summary></summary>
        </member>
        <member name="P:NHibernate.Mapping.Any.MetaType">
            <summary>
            Get or set the metatype 
            </summary>
        </member>
        <member name="T:NHibernate.Mapping.Array">
            <summary>
            An array has a primary key consisting of the key columns + index column
            </summary>
        </member>
        <member name="T:NHibernate.Mapping.List">
            <summary>
            A list has a primary key consisting of the key columns + index column
            </summary>
        </member>
        <member name="T:NHibernate.Mapping.IndexedCollection">
            <summary>
            Indexed collections include IList, IDictionary, Arrays
            and primitive Arrays.
            </summary>
        </member>
        <member name="T:NHibernate.Mapping.Collection">
            <summary>
            Base class that stores the mapping information for <c>&lt;array&gt;</c>, <c>&lt;bag&gt;</c>, 
            <c&g