从NHibernate mysql的相关表中获取数据

时间:2010-12-28 08:15:19

标签: mysql nhibernate criteria

我在mysql中有3个表

用户

id(自动增量)(PK) user_name password first_name last_name created_at modified_at email

USER_ROLE

user_id(PK) role_id(PK)

作用

id(PK) name

映射文件User.hbm.xml                                                          

映射文件User_Role.hbm.xml                           
              

映射文件Role.hbm.xml

<id name="RoleId" column="id">
  <generator class="identity"/>
</id>
<property name="Name" column="name"  length="64"/>

我想使用查询

从这些表中获取信息

SELECT u。*,r.name 来自用户u JOIN user_role ur ON UR.user_id = u.id. 在UR.role_id = r.id

上加入角色r

我试过这段代码 ICriteria Criteria = session.CreateCriteria(typeof(User));                 Criteria.CreateAlias(“User_Role”,“User_Role”);                 Criteria.CreateAlias(“User_Role.Role”,“UsrRole”);                 Criteria.Add(Expression.Eq(“id”,Uid)); 但它显示错误 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

实体之间的关系是通过映射完成的,而不是通过查询完成的。您可能希望阅读一些最小的文档。