mxm*_*ile 6 nhibernate nhibernate-mapping
给予团队 - >运动员关系并询问所有运动员.我误解了fetch="Join"什么?这种映射是否应该通过连接加载团队?在迭代运动员时,它仍然懒得加载球队.
public class AthleteMap : ClassMapping<Athlete>
{
public AthleteMap()
{
ManyToOne(a => a.Team, o =>
{
o.Fetch(FetchKind.Join);
o.Lazy(LazyRelation.NoLazy);
}
);
}
}
Run Code Online (Sandbox Code Playgroud)
哪个产生这个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>
Run Code Online (Sandbox Code Playgroud)
迭代:
var session = factory.OpenSession();
foreach (var athlete in session.Query<Athlete>())
Console.WriteLine("{0} {1}", athlete.FirstName, athlete.Team.Name);
Run Code Online (Sandbox Code Playgroud)
Ger*_*ard 13
NHibernate Linq Query不使用映射的获取策略.你必须像你这样在你的linq查询中获取().
var session = factory.OpenSession();
foreach (var athlete in session.Query<Athlete>().Fetch(x => x.Team))
Console.WriteLine("{0} {1}", athlete.FirstName, athlete.Team.Name);
Run Code Online (Sandbox Code Playgroud)
映射文档中定义的获取策略会影响:
来源:性能提取
| 归档时间: |
|
| 查看次数: |
2673 次 |
| 最近记录: |