Impossible to load one-to-one association with LINQ for composite-id

Description

When you use one-to-one mapping for object, that have with LINQ provider it's impossible to load property that contains associated object if it is not explicitly loaded in select clause.

Example:
<class name="ExternalField">
<composite-id>
<key-property name="Id" />
<key-property name="Id2" />
</composite-id>
</class>

<class name="Field">
<composite-id>
<key-property name="Id" />
<key-property name="Id2" />
</composite-id>
<one-to-one name="ExternalField" lazy="false" fetch="join" />
</class>
var fields = session.Query<Field>()
.ToList()
.Where(it => it.ExternalField != null).ToList();

There will be no object in final list, even if DB have such. Same queries work when using NHibernate.Linq.

Environment

None

Assignee

Alex Zaytsev

Reporter

Igor Kiselev

Components

Fix versions

Affects versions

Priority

Major
Configure