дозвуковой эквивалентный запрос для этого запроса - PullRequest
0 голосов
/ 09 ноября 2011

Может ли кто-нибудь дать мне эквивалентный запрос для следующего запроса MySQL:

string qry = "select @rownum := @rownum + 1 AS rowno, b_eventid as EventID,b_eventdata as 
                     EventData,b_machinetimestamp as MachineTime,b_hosttimestamp as HostTime";
       qry = qry + " from bm_transaction, (select @rownum := 0) r where b_terminalid=" +                      
                                 tid + " order by b_hosttimestamp desc";
          MySqlDataAdapter adp = new MySqlDataAdapter(qry, sqlcon);
            adp.Fill(dtLogs);

И мой пример запроса SubSonic выглядит примерно так:

DataTable dtlogs=new DataTable();
    try{
        arithmaticdataDB db=new arithmaticdataDB();
        IDataReader drreader=db.SelectColumns("b_eventid as EventID,b_eventdata as EventData,b_machinetimestamp as MachineTime,b_hosttimestamp as HostTime")
                              .From(" bm_transaction").Where("b_terminalid").IsEqualTo(tid).OrderDesc("b_hosttimestamp").ExecuteReader();

Как я могу изменить вышеуказанное на эквивалент моего запроса ADO.NET в SubSonic 3.0.0.4? Любое руководство заметно.

1 Ответ

0 голосов
/ 04 января 2012

Если я правильно понимаю, первый запрос - это необработанный SQL с введением значения и переименованными столбцами. Второй пример, похоже, использует API-выражение SubSonic 2.x.

В SubSonic 3 я в основном использую ActiveRecord и Linq. Ваш запрос (очень грубо) может выглядеть так:

var event_rows = b_transaction
  .Where(x => x.b_terminalid == tid)
  .OrderByDescending(x => x.hosttimestamp)
  .ToList();
...