Fluent nhibernate Fluent Nhibernate订单由收款人提供

Fluent nhibernate Fluent Nhibernate订单由收款人提供,fluent-nhibernate,Fluent Nhibernate,如果我在Fluent NHibernate中映射了一个集合,并且我想对该集合应用一个订单,我该怎么做 例如: HasMany(x=>x.passdates) .AsBag().Cascade .SaveUpdate() .KeyColumnNames.Add(“EventId”) .Where(e=>e.DateFromx.passdates) .AsBag().Cascade .SaveUpdate() .KeyColumnNames.Add(“EventId”) .Where(e=>e.Da

如果我在Fluent NHibernate中映射了一个集合,并且我想对该集合应用一个订单,我该怎么做

例如:

HasMany(x=>x.passdates)
.AsBag().Cascade
.SaveUpdate()
.KeyColumnNames.Add(“EventId”)
.Where(e=>e.DateFrom
我正在HBM文件中查找order by属性的等效项

谢谢

FluentNHibernate API中似乎没有“order by”属性。我看不出有什么原因,所以这可能是有意识的遗漏。您应该能够使用SetAttribute添加它,但无法使其工作

HasMany(x => x.PastDates)
        .AsBag().Cascade
        .SaveUpdate()
        .KeyColumnNames.Add("EventId")
        .Where(e => e.DateFrom < DateTime.Now.Date)
        .Inverse()
        .SetAttribute("order-by", "column_name");
HasMany(x=>x.passdates)
.AsBag().Cascade
.SaveUpdate()
.KeyColumnNames.Add(“EventId”)
.Where(e=>e.DateFrom

请注意,由NHibernate使用的设置顺序;但是,这不适用于行李。

Fluent NHibernate现在有一个OrderBy方法,您可以使用:

HasMany(x => x.PastDates)
        .AsBag().Cascade
        .SaveUpdate()
        .KeyColumnNames.Add("EventId")
        .Where(e => e.DateFrom < DateTime.Now.Date)
        .Inverse()
        .OrderBy("ColumnName DESC");
HasMany(x=>x.passdates)
.AsBag().Cascade
.SaveUpdate()
.KeyColumnNames.Add(“EventId”)
.Where(e=>e.DateFrom
谢谢您的帮助。我试试看。通过发布这篇文章,我发现了一个明显的错误“.Column(“EventId”)我认为这实际上是映射属性的名称,而不是底层列的名称?无论哪种方式,都很遗憾它与criteria.Order不一致
HasMany(x => x.PastDates)
        .AsBag().Cascade
        .SaveUpdate()
        .KeyColumnNames.Add("EventId")
        .Where(e => e.DateFrom < DateTime.Now.Date)
        .Inverse()
        .OrderBy("ColumnName DESC");