유창함 NHibernate에 맵핑 아이 속성에 의해 hasMany의 수집을 주문하는 방법 :나는 다음과 같은 클래스 매핑 유창함 자 NHibernate를 사용하고
public abstract class DomainObject
{
public virtual int Id { get; protected internal set; }
}
public class Attribute
{
public virtual string Name { get; set; }
}
public class AttributeRule
{
public virtual Attribute Attribute { get; set; }
public virtual Station Station { get; set; }
public virtual RuleTypeId RuleTypeId { get; set; }
}
public class Station : DomainObject
{
public virtual IList<AttributeRule> AttributeRules { get; set; }
public Station()
{
AttributeRules = new List<AttributeRule>();
}
}
내 유창함 NHibernate에 매핑은 다음과 같이 :
public class AttributeMap : ClassMap<Attribute>
{
public AttributeMap()
{
Id(o => o.Id);
Map(o => o.Name);
}
}
public class AttributeRuleMap : ClassMap<AttributeRule>
{
public AttributeRuleMap()
{
Id(o => o.Id);
Map(o => o.RuleTypeId);
References(o => o.Attribute).Fetch.Join();
References(o => o.Station);
}
}
public class StationMap : ClassMap<Station>
{
public StationMap()
{
Id(o => o.Id);
HasMany(o => o.AttributeRules).Inverse();
}
}
을 Attribute.Name 속성으로 Station에서 AttributeRules 목록을 주문하고 싶지만 다음을 수행하면 작동하지 않습니다.
아직 매핑에서이 작업을 수행 할 방법을 찾지 못했습니다. 필자는이를 위해 IQuery 또는 ICriteria를 만들 수 있지만, 이상적으로는 요청할 때 정렬 된 AttributeRules 목록을 원합니다.
이 매핑을 수행하는 방법에 대한 조언이 있으십니까?
생성되는 문자열에 테이블 별칭이 포함되어 있으므로 이동하지 않습니다. – Dave