Create an IEnumerable wrapper over an IDataReader.

Namespace:  NHibernate.Impl
Assembly:  NHibernate (in NHibernate.dll)

Syntax

Visual Basic (Declaration)
Public Sub New ( _
	reader As IDataReader, _
	cmd As IDbCommand, _
	sess As ISessionImplementor, _
	types As IType(), _
	columnNames As String()(), _
	selection As RowSelection, _
	holderInstantiator As HolderInstantiator _
)
C#
public EnumerableImpl(
	IDataReader reader,
	IDbCommand cmd,
	ISessionImplementor sess,
	IType[] types,
	string[][] columnNames,
	RowSelection selection,
	HolderInstantiator holderInstantiator
)
Visual C++
public:
EnumerableImpl(
	IDataReader^ reader, 
	IDbCommand^ cmd, 
	ISessionImplementor^ sess, 
	array<IType^>^ types, 
	array<array<String^>^>^ columnNames, 
	RowSelection^ selection, 
	HolderInstantiator^ holderInstantiator
)
JavaScript
NHibernate.Impl.EnumerableImpl = function(reader, cmd, sess, types, columnNames, selection, holderInstantiator);

Parameters

reader
Type: System.Data..::.IDataReader
The IDataReader to enumerate over.
cmd
Type: System.Data..::.IDbCommand
The IDbCommand used to create the IDataReader.
sess
Type: NHibernate.Engine..::.ISessionImplementor
The ISession to use to load objects.
types
Type: array< NHibernate.Type..::.IType >[]()[]
The ITypes contained in the IDataReader.
columnNames
Type: array< array< System..::.String >[]()[] >[]()[]
The names of the columns in the IDataReader.
selection
Type: NHibernate.Engine..::.RowSelection
The RowSelection that should be applied to the IDataReader.
holderInstantiator
Type: NHibernate.Hql..::.HolderInstantiator
Instantiator of the result holder (used for "select new SomeClass(...)" queries).

Remarks

The IDataReader should already be positioned on the first record in RowSelection.

See Also