2010-06-28 68 views
0

我知道nHibernate不支持UNION。但也有一些技巧,就可以实现相同的,如:如何在nHibernate中使用UNION?

  1. 使用原始SQL
  2. 使用子联盟一流

我有使用<连接表> <旧应用程序/ join表>现在,我想在这里实现UNION。

下面是在应用程序中的文件(S):

文件:的.hbm.xml

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> 
<class name=""> 
<id name="Id" column="ID" type="Int32"> 
</id> 
<!--Some properties are here -->  
<property name="" column=""/> 
<!--Relations --> 
<many-to-one name="" column="" lazy="false"/> 
<bag name="" inverse="false" lazy="false" cascade="none"> 
    <key column="ID" /> 
    <one-to-many class="" /> 
</bag> 
<join table="CAIMainDB.dbo.TClaimOnline"> 
    <key column="ID" foreign-key="ID"/> 
    <property name="" column=""/>  
</join> 
    </class> 
</hibernate-mapping> 

文件:mapper.cs

<!-- Here I need to implement HQL or Raw SQL to achieve UNION -- > 

文件:域类

<!-- This contains the properties to set the aliases or map with columns -- >  
public virtual int Id { get; set; } 

我很欣赏,如果anyomne建议我如何在我的应用程序的当前场景中实现。

回答

0

你真的需要做一个工会吗?如果您从数据库中获取对象,那么连接返回的集合是否足够?

+0

你能否提供一些更多信息。我尝试了很多场景,但没有得到结果? – 2010-06-28 09:37:29

+6

如果您还在进行分页,连接集合不起作用。您只想根据联合查询返回10个项目。 – Craig 2011-03-10 22:35:56