2012-08-08 1 views
1

Je ne suis pas au-dessus de mon niveau de compréhension mais j'ai une simple requête pour changer l'ordre de tri des données dans une grille de données .NET. Le système semble utiliser SubSonic pour faire les requêtes de base de données, donc il y a un niveau d'abstraction que je ne comprends pas et que je n'arrive pas à deviner;).Ordre de tri de l'ensemble de données subsoniques

Il y a une ligne sous le contrôle GridView dans le fichier .aspx comme ceci:

<asp:ObjectDataSource ID="odsCsvReport" runat="server" SelectMethod="FetchAll" TypeName="WFlower.CsvReportController"> 
</asp:ObjectDataSource> 

J'ai cherché le projet pour « CsvReportController » et il y a un fichier dans App_Code appelé « » CsvReportController.cs dans lequel il y a une classe comme ceci:

[DataObjectMethod(DataObjectMethodType.Select, true)] 
    public CsvReportCollection FetchAll() 
    { 
     CsvReportCollection coll = new CsvReportCollection(); 
     Query qry = new Query(CsvReport.Schema); 
     //qry.OrderDesc("CsvReportID"); 
     coll.LoadAndCloseReader(qry.ExecuteReader()); 
     return coll; 
    } 

maintenant, je n'ai aucune idée comment obtenir ces données à trier par le champ « CsvReportID » dans l'ordre décroissant (actuellement, il est croissant).

Quelqu'un peut-il faire la lumière là-dessus. Comme je le dis, je suis trop profond ici, mais ça devrait être une chose si mineure que je suis déterminé à aller au fond des choses!

Merci à tous!

EDIT: D'accord, alors que par le commentaire de @ Mike Walsh ci-dessous, j'ai essayé ceci:

var qry = new Select().From(CsvReport.Schema); 
qry.OrderDesc(new [] {CsvReport.Columns.AssignedToID}); 
return qry.ExecuteAsCollection<CsvReportCollection>(); 

Maintenant, cependant, cela jette une erreur complètement différente ailleurs:

Violation of PRIMARY KEY constraint 'PK__OrdersToDelete__245EFE8C'. Cannot insert duplicate key in object 'dbo.OrdersToDelete'. 
The statement has been terminated. 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'PK__OrdersToDelete__245EFE8C'. Cannot insert duplicate key in object 'dbo.OrdersToDelete'. 
The statement has been terminated. 

Source Error: 

Line 187:  //Do database management. 
Line 188:  int removedUsers = SPs.Hg_DeleteInactiveUsers(14).Execute(); 
Line 189:  int removedOrders = SPs.Hg_DeleteInactiveOrders(14).Execute(); 
Line 190: } 
+0

quelle version utilisez-vous? ressemble à la 2.3 – Aristos

+0

Je pense que c'est 2.1. – Dan

+0

Je ne me souviens pas des différences exactes dans 2.1-2.2-2.3 mais cela compilera-t-il pour vous? var qry = new Sélectionnez(). À partir de (CsvReport.Schema); qry.OrderDesc (new [] {CsvReport.Columns.AssignedToID}); return qry.ExecuteAsCollection (); –

Répondre

0

Can » Je me souviens des différences exactes dans 2.1-2.2-2.3 mais cela compilera-t-il pour vous?

var qry = new Select().From(CsvReport.Schema); 
    qry.OrderDesc(new [] {CsvReport.Columns.AssignedToID}); 
    return qry.ExecuteAsCollection<CsvReportCollection>();