Biorąc pod uwagę związek Team -> sportowca i wysyłając zapytanie do wszystkich sportowców. Co nie rozumiem o fetch="Join"
? Czy to odwzorowanie powinno spowodować załadowanie Drużyny przez połączenie? Podczas iterowania sportowców, wciąż leniwy ładuje zespół.NHibernate Join Fetch (Rodzaj)
public class AthleteMap : ClassMapping<Athlete>
{
public AthleteMap()
{
ManyToOne(a => a.Team, o =>
{
o.Fetch(FetchKind.Join);
o.Lazy(LazyRelation.NoLazy);
}
);
}
}
która produkuje ten HBM:
<class name="Athlete" table="Athletes">
<id name="Id" type="Int32" />
<property name="FirstName" />
<property name="LastName" />
<many-to-one name="Team" fetch="join" lazy="false" />
<property name="Created" />
</class>
Iteracja:
var session = factory.OpenSession();
foreach (var athlete in session.Query<Athlete>())
Console.WriteLine("{0} {1}", athlete.FirstName, athlete.Team.Name);
Czy otrzymujesz wyjątek? Które? – Gerard
Czyli podczas iteracji widzisz zapytania pobierające "drużynę" na "atletę"? Mam na myśli, że mapowanie jest poprawne, z wyjątkiem szybkiego pobierania? –
Brak wyjątków. @GertArnold tak podczas iteracji, pyta Zespół o każdą iterację. – mxmissile