我有两个实体:
class Complex
{
public virtual MyComponent Component { get; set; }
public virtual string OtherProperty { get; set; }
}
class MyComponent
{
public virtual int Number { get; set; }
public virtual string Description { get; set; }
}
Component
的{{1}}属性在NHibernate中映射为一个组件。我希望NHibernate在按Complex
排序时始终使用MyComponent
的{{1}}属性。所以每当我写信:
Number
我希望结果只能按MyComponent
排序而不是session.Query<Complex>().OrderBy(x => x.Component)
- 现在NHibernate按两列排序。如果解决方案在Linq和HQL中都有效,那将会很棒。
我看了Number
。我可以用它为它生成适当的HQL,但我需要为Description
类型的每个属性注册一个生成器(所以如果我有更多的实体,如LinqToHqlGeneratorsRegistry
,我需要多次注册它),我希望在按此类属性排序时始终使用这种排序。
NHibernate有可能吗?