2013-07-19 5 views
0
public List<Email> GetEmailAccountDetailByIDWithSorting(
              long EmailFolderID, 
              string subject, 
              string date, 
              string sortColumn, 
              string sortOrder, 
              int pageSize, 
              int pageIndex, 
              out int totalRecords) 
    { 

var Emails = db.Emails 
       .Where(E => E.Subject.Contains(subject) && 
          Convert.ToDateTime(E.Date).ToShortDateString() == date && 
          E.EmailFolderId == EmailFolderID) 
       .OrderBy(u => u.Subject) 
       .ThenBy(u => u.Subject); 


     switch (sortColumn) 
     { 
      case "Subject": 
       Emails = (sortOrder == "desc") ? Emails.OrderByDescending(u => u.Subject) : Emails.OrderBy(u => u.Subject); 
       break; 
      case "Date": 
       Emails = (sortOrder == "desc") ? Emails.OrderByDescending(u => u.Date) : Emails.OrderBy(u => u.Date); 
       break; 
      default: 
       break; 
     } 
     totalRecords = Emails.Count(); 
     return Emails.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); 
    } 

Dans ma date d'entrée de chaîne de requête LINQ est « 15/07/2013 » comment convertir la date de base de données E.Date au format de la date d'entrée. à cette date de la base de données de requête comme "15/07/2013 11: 35: 48.000"Filtrer les données à jqGrid par date dans l'expression lambda

Répondre

0

Peut être que cela vous aide: - Replace

Convert.ToDateTime(E.Date).ToShortDateString() 

avec

Convert.ToDateTime(E.Date).ToString("yyyy-mm-dd") 
Questions connexes