我在两个对象之间(实际上有几个)关系,父对象是用户,子对象是意外事件。在用户和事件之间定义了四个关系
事件的User**_**created
_**reported和finally
_**responsible的Incident
_**modified的用户。这四个事件属性都引用了一个用户对象。在地图上是这样的:
<many-to-one name="User_created" class="User, WebbData" fetch="select">
<column name="created_by" not-null="true" />
</many-to-one>
<many-to-one name="User_modified" class="User, WebbData" fetch="select">
<column name="modified_by" not-null="false" />
</many-to-one>
<many-to-one name="User_reported" class="User, WebbData" fetch="select">
<column name="reported_by" not-null="true" />
</many-to-one>
<many-to-one name="User_responsible" class="User, WebbData" fetch="select">
<column name="responsible" not-null="false" />
</many-to-one>我想编写一个nHibernate表达式来获取由特定用户创建的所有事件,但是我不知道如何编写这个表达式.到目前为止,我得到的是:
return session.CreateCriteria(typeof(Incident))
.CreateCriteria("User")
.Add(Expression.Eq("Id", UserID))
.List<Incident>();但是,我怎么告诉nHibernate,它应该使用User**_**created关系,而不是其他三个中的一个呢?
发布于 2009-07-17 11:57:20
我认为,通过将ID直接分配给实体属性,这是可行的:
return session.CreateCriteria(typeof(Incident))
.Add(Expression.Eq("User_created", UserID))
.List<Incident>();https://stackoverflow.com/questions/1142793
复制相似问题