我正在使用带有gridview的objectdatasource来从我的orm类中获取数据,但是我无法通过正确的顺序来获取它。 我正在使用下面的代码,但它没有像我在下面指定的那样按降序出现。我错过了什么?使用亚音速2.1
<DataObjectMethod(DataObjectMethodType.Select, True)> Public Function FetchByPatID(ByVal PatientID As Object) As VisitCollection
Dim coll As VisitCollection = New VisitCollection().Where("PatientID", PatientID).Load()
**OrderBy.Desc(Visit.DosColumn)**
Return coll
End Function
答案 0 :(得分:4)
作为查询的一部分,对数据库执行order by。它需要在调用.Load()方法之前添加。
Dim coll As VisitCollection = New VisitCollection().Where("PatientID", PatientID).OrderByDesc(Visit.Columns.DosColumn).Load()
答案 1 :(得分:2)
Ranomore是对的。在实际执行命令之前,必须指定OrderBy,因为在数据库上完成了排序。
如果您使用的是SubSonic 2.1,我更喜欢添加的新语法,使查询更具可读性
SubSonic.Select.AllColumnsFrom(Of Visit)().Where(Visit.PatientIDColumn).isEqualTo(PatientID).OrderByDesc(Visit.DosColumn.ColumnName).ExecuteAsCollection(Of VisitCollection)()