DateTime.TryParse ... как это с учетом вашего текущего кода:
DateTime date;
EnumerableRowCollection<DataRow> query =
from order in _table.AsEnumerable()
select
new {
OrderDate=
string.IsNullorEmpty(Convert.ToString(order.Field<DateTime>("OrderDate"))
||
!DateTime.TryParse(Convert.ToString(order.Field<DateTime>("OrderDate")),out date)
? string.Empty : date.ToShortDateString()
}
(используя блокнот для IDE, поэтому извиняюсь за синтаксическую ошибку, но это должно дать вам общее представление)
Я предполагаю, что OrderDate является строкой, так как вы пытаетесь присвоить ей string.Empty, если это DateTime, тогда измените троичное назначение на что-то вроде DateTime.MinValue вместо пустой строки (или чего бы вы не хотелииспользуйте для «недопустимых» дат, так как пустая строка больше не является опцией):
? DateTime.MinValue:date
или если OrderDate имеет значение DateTime, допускающее значение NULL, то
? null:date