2009-05-05 4 views
1

내 orm 클래스에서 데이터를 가져 오기 위해 griddow와 함께 objectdatasource를 사용하고 있지만 제대로 주문할 수 없습니다. 아래 코드를 사용하고 있지만 아래에 지정한 것처럼 내림차순으로 표시되지 않습니다. 내가 뭘 놓치고 있니? 아음속 사용 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

쿼리가 훨씬 더 쉽게 읽을 추가 된 새로운 구문을 선호 음속 사용하는 경우? –

+0

그리고 OrderBy.Desc는 무엇입니까? 저는 VB 전문가가 아니지만 LINQ'OrderBy'를 사용하고 있습니까? 그렇다면 LINQ의 OrderBy는 실제로 결과를 반복 할 때만 원래 작업을 수행합니다. 원래 시퀀스를 변경하지 않고 새 시퀀스를 반환합니다. –

답변

4

주문 순서는 쿼리의 일부로 데이터베이스에 대해 실행됩니다. .Load() 메서드가 호출되기 전에 추가해야합니다.

Dim coll As VisitCollection = New VisitCollection().Where("PatientID", PatientID).OrderByDesc(Visit.Columns.DosColumn).Load() 
+0

감사합니다. – GTJR

2

라노 모어입니다. 순서 지정이 데이터베이스에서 수행 될 때 실제로 명령을 실행하기 전에 OrderBy를 지정해야합니다.

당신은 2.1 내가 많이 Visit.DosColumn가 정렬 뭔가

SubSonic.Select.AllColumnsFrom(Of Visit)().Where(Visit.PatientIDColumn).isEqualTo(PatientID).OrderByDesc(Visit.DosColumn.ColumnName).ExecuteAsCollection(Of VisitCollection)()