使用QueryOver或CreateCriteria在Fluent Nhibernate中加入不相关的表 [英] Join Unrelated tables in Fluent Nhibernate with QueryOver or CreateCriteria

查看:167
本文介绍了使用QueryOver或CreateCriteria在Fluent Nhibernate中加入不相关的表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有表:


  • tableAnnual - AnnualAmount,AnnualCurrency。 creationDate,Id

  • tableMonthly - MonthlyAmount,MonthlyCurrency,creationDate,Id
  • currentSharevalue,creationDate,Id
  • tableMiscDetails - clientType,clientName,MarketValueAmount,creationDate


    我现在要用NHibernate和QueryOver做下面的选择:
    $ b $ pre $ $ code> select tableAnnual ,
    tableMonthly.MonthlyAmount,MonthlyAmount.MonthlyCurrency,
    tableSharePoint.CurrentSharevalue,tableMiscDetails.clientType,tableMiscDetails.clientName,tableMiscDetails.MarketValueAmount
    from tableAnnual
    外部连接tableMonthly on tableAnnual.creationDate = tableMonthly.creationDate
    外部连接tableShare上的shareShare值tableMonthly.creationDate = tableSharevalue.creationDate
    外部连接tableMiscDetails on tableSharevalue.creationDate = tableMiscDetails.creationDate
    其中id = 123456

    有人可以给我一个样本,我该怎么做? - 我的问题是,我必须加入上面提到的多个表

    解决方案在这种情况下,NHibernate的解决方案是要么使用HQL



    使用nhibernate和ICriteria 加入两个不相关的视图表



    14.2 。 from子句(小引用和片段)


    可能会出现多个类,导致笛卡尔积或交叉连接。



      from Formula,Parameter 
    from Formula as form,Parameter as param

    或者创建原始SQL。有一些例子如何:



    NHibernate的QueryOver子行作为逗号分隔值


    I have tables :

    • tableAnnual - AnnualAmount, AnnualCurrency. creationDate, Id
    • tableMonthly - MonthlyAmount, MonthlyCurrency, creationDate, Id
    • tableSharevalue - CurrentSharevalue, creationDate, Id
    • tableMiscDetails - clientType, clientName, MarketValueAmount, creationDate

    I have now to do the following select with NHibernate and QueryOver:

    Select tableAnnual.AnnualAmount, tableAnnual.AnnualCurrency, 
    tableMonthly.MonthlyAmount, MonthlyAmount.MonthlyCurrency,
    tableSharevalue.CurrentSharevalue, tableMiscDetails.clientType, tableMiscDetails.clientName, tableMiscDetails.MarketValueAmount
    from tableAnnual
    outer join tableMonthly on tableAnnual.creationDate  = tableMonthly.creationDate
    outer join tableSharevalue on tableMonthly.creationDate = tableSharevalue.creationDate
    outer join tableMiscDetails on tableSharevalue.creationDate = tableMiscDetails.creationDate
    Where id = 123456
    

    Can someone give me a sample, how I can do that? - My Problem is, that I have to join multiple Tables mentioned above

    解决方案

    Solution with NHibernate in this case, is either to use HQL

    Joining two unrelated view-tables with nhibernate and ICriteria

    14.2. The from clause (small cite and snippet)

    Multiple classes may appear, resulting in a cartesian product or "cross" join.

    from Formula, Parameter
    from Formula as form, Parameter as param
    

    Or create raw SQL. There is some example how to:

    NHibernate - QueryOver Child rows as comma separated values

    这篇关于使用QueryOver或CreateCriteria在Fluent Nhibernate中加入不相关的表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆