We can use an inner join for first many-to-many association

Namespace:  NHibernate.Loader.Collection
Assembly:  NHibernate (in NHibernate.dll)

Syntax

Visual Basic (Declaration)
Protected Function GetJoinType ( _
	type As IAssociationType, _
	config As FetchMode, _
	path As String, _
	visitedAssociations As ISet, _
	lhsTable As String, _
	lhsColumns As String(), _
	nullable As Boolean, _
	currentDepth As Integer, _
	cascadeStyle As Cascades..::.CascadeStyle _
) As JoinType
C#
protected JoinType GetJoinType(
	IAssociationType type,
	FetchMode config,
	string path,
	ISet visitedAssociations,
	string lhsTable,
	string[] lhsColumns,
	bool nullable,
	int currentDepth,
	Cascades..::.CascadeStyle cascadeStyle
)
Visual C++
protected:
JoinType GetJoinType(
	IAssociationType^ type, 
	FetchMode config, 
	String^ path, 
	ISet^ visitedAssociations, 
	String^ lhsTable, 
	array<String^>^ lhsColumns, 
	bool nullable, 
	int currentDepth, 
	Cascades..::.CascadeStyle^ cascadeStyle
)
JavaScript
function getJoinType(type, config, path, visitedAssociations, lhsTable, lhsColumns, nullable, currentDepth, cascadeStyle);

Parameters

type
Type: NHibernate.Type..::.IAssociationType
config
Type: NHibernate..::.FetchMode
path
Type: System..::.String
visitedAssociations
Type: ISet
lhsTable
Type: System..::.String
lhsColumns
Type: array< System..::.String >[]()[]
nullable
Type: System..::.Boolean
currentDepth
Type: System..::.Int32
cascadeStyle
Type: NHibernate.Engine..::.Cascades..::.CascadeStyle

See Also