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.
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.