Skip to main content
 首页 » 编程设计

c#之没有集合的休眠查询

2024年02月02日25think

冒着问非常基本的问题的风险,但仍然在这里。 当使用这样的查询时

List<User> users = session.Query<User>.ToList(); 

在调试过程中,我发现除了用户实体之外,我还获取了角色集合和照片集合。

我的问题是如何只选择没有子集合的用户集合。

谢谢

更新:

public RoleMap() 
{ 
   Table("Role"); 
   Id(x => x.Id).GeneratedBy.Identity(); 
   Map(x => ... 
   References(x => x.User).Column("UserId");            
} 

据我所知,延迟加载是默认开启的。如果我在这里做错了什么,请纠正我。

请您参考如下方法:

当您在调试时查看集合时,您会导致使用 nhibernate 创建的代理从数据库加载数据。执行时检查生成的sql查询

 List<User> users = session.Query<User>.ToList(); 

你应该只看到用户数据,角色和照片不应该在那里。