【问题标题】:NHibernate Ordering more than 2 joined fields of a classNHibernate 对一个类的超过 2 个连接字段进行排序
【发布时间】:2010-02-15 20:27:25
【问题描述】:

我想问一下您如何对具有 2 个属性的对象进行排序,这些属性基本上是从 2 个实体连接的。

假设“ClassA”有一个名为 ClassB 和 ClassC 的属性,它们本身也是类。 ClassB 有一个名为 Name 的属性,ClassC 也有一个名为 Name 的属性。现在,由于 ClassB 和 ClassC 都是 ClassA 的属性,我如何使用 ClassB 和 ClassC 的 Name 属性来排序 ClassA 列表。以下是 C# 中的示例 NHibernate 标准代码:

ICriteria criteria = m_Session.CreateCriteria<ClassA>()
     .AddOrder(Order.Asc("ClassB.Name"))
     .AddOrder(Order.Asc("ClassC.Name"));

但是上面的代码抛出一个错误,说 “无法解析属性:ClassB.Name of: ClassA”。任何帮助,将不胜感激。非常感谢。

【问题讨论】:

    标签: nhibernate fluent-nhibernate


    【解决方案1】:

    您需要为 2 个关联(ClassB 和 ClassB)设置别名,以便您可以按它们排序。

    ICriteria criteria = m_Session.CreateCriteria<ClassA>()
        .CreateAlias("ClassB", "b")
        .CreateAlias("ClassC", "c")
        .AddOrder(Order.Asc("b.Name"))
        .AddOrder(Order.Asc("c.Name"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 2017-11-13
      相关资源
      最近更新 更多