NHibernate在条件中有许多带有OrderBy override选项
因此,当调用WR上的SetFetchMode时,映射的OrderBy部分将取代代码中指定的AddOrder sql代码的示例NHibernate在条件中有许多带有OrderBy override选项,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,因此,当调用WR上的SetFetchMode时,映射的OrderBy部分将取代代码中指定的AddOrder sql代码的示例 HasMany(x => x.WR) .Table("WR") .KeyColumn("StudentId") .LazyLoad() .AsSet() .Inverse()
HasMany(x => x.WR)
.Table("WR")
.KeyColumn("StudentId")
.LazyLoad()
.AsSet()
.Inverse()
.Cascade.None()
.OrderBy("CreatedDate desc")
.BatchSize(10);
如何覆盖定义的映射并确保从OrderBy中删除WR CreatedDate并从条件中删除?查看生成的sql。可能顺序包含在查询的某个地方(即子查询中),对结果集没有任何影响。取决于MakeCriteriaForFindAllStudents()如何构建ICriteria。看起来这是NHibernate中的已知错误,下面是链接
查看sql gen帮助了我。
HasMany(x => x.WR)
.Table("WR")
.KeyColumn("StudentId")
.LazyLoad()
.AsSet()
.Inverse()
.Cascade.None()
.OrderBy("CreatedDate desc")
.BatchSize(10);
ORDER BY wr6_.CreatedDate desc, this_.LNametxt asc, this_.FNameTxt asc;