Вы пытаетесь использовать Linq2Sql?Если это так, вы можете просто сделать:
var result = from x in MyDataTable
orderby x.Date ascending
select x;
(замените ascending
на descending
, если вы хотите, чтобы все пошло по-другому).
Если вы хотите при желании отсортироватьэто, вы можете использовать IQueryable<T>
s и, при желании, сортировать, например:
IQueryable<MyDataTable> GetData(bool sortByDate)
{
var result = from x in DataContext.Table<MyDataTable>
where SomeMatchingClause(x)
select x;
if(sortByDate)
{
result = result.OrderBy(x => x.Date); // or OrderByDescending
}
return result;
}
Если вы запрашиваете в SQL напрямую, просто выполните
SELECT * FROM MyTable ORDER BY Date ASC
(замените ASC
с DESC
, если вы хотите, чтобы все пошло иначе)
Я не часто строю запросы SQL как string
s в C #, но если вы хотите сделать это необязательным, я думаю, вы могли бы постепеннопостроить запрос, даже если он действительно грубый:
string GetSqlQuery(bool sortByDate)
{
string result = "SELECT * FROM MyTable";
if(sortByDate)
{
result += " ORDER BY Date ASC";
}
return result;
}