0
我有一個類名爲User
,在這個類中的枚舉值的集合UserRole
。NHibernate的標準加入了許多枚舉值
public class User {
...
public ICollection<UserRole> UserRoles { get; private set; }
...
}
[Flags]
public enum UserRole {
Beginner = 1,
Advanced = 2,
Expert = 4,
Admin = 8
}
的User
到UserRole
關係是一個多到多的關係,並用三個表(具有帳戶及角色ID僅tblUser,tblRole和tblUserRole)來實現。該HBM如下:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-lazy="false">
<class name="User, SampleDll" table="tblUser">
...
<bag name="UserRoles" table="tblUserRole" cascade="all-delete-orphan" fetch="join">
<key column="UserId"/>
<element column="RoleId" type="UserRole, SampleDll" />
</bag>
...
</class>
</hibernate-mapping>
現在我想建立一個標準,具有相同語義學對作爲
select u.* from tblUser u
left join tblUserRole ur on ur.UserId = u.UserId
where ur.RoleId = @USER_ROLE
是否有可能實現這樣的標準(使用queryOver或分離標準)沒有一個單獨的映射文件UserRole
enum?
在此先感謝提示。
Mrks