var criteria = MakeCriteriaForFindAllStudents(exportCriteria)
.AddOrder<Entities.Student>(x => x.LastName, Order.Asc)
.AddOrder<Entities.Student>(x => x.FirstName, Order.Asc);
criteria.SetFetchMode("Addresses", FetchMode.Join)
.SetFetchMode("CR", FetchMode.Join)
.SetFetchMode("SEC", FetchMode.Join)
.SetFetchMode("Dep", FetchMode.Join)
.SetFetchMode("WR", FetchMode.Join)
.SetResultTransformer(new DistinctRootEntityResultTransformer());
var results = criteria
.GetExecutableCriteria(Session)
.Future<Entities.Student>();
Кажется, AddOrder не работает в определенных условиях.
Отображение беглого студента имеет следующее отношение к WR.
HasMany(x => x.WR)
.Table("WR")
.KeyColumn("StudentId")
.LazyLoad()
.AsSet()
.Inverse()
.Cascade.None()
.OrderBy("CreatedDate desc")
.BatchSize(10);
Поэтому, когда вызывается SetFetchMode для WR, часть отображения OrderBy заменяет AddOrder, указанный в коде.
образец кода sql ..
ORDER BY wr6_.CreatedDate desc, this_.LNametxt asc, this_.FNameTxt asc;
Как переопределить определенное отображение и убедиться, что WR CreatedDate удален из OrderBy, удален из критериев?