我正在使用ObjectDataSource訪問業務類,並嘗試生成對用戶有意義的輸出。返回值描述一個類(如在課堂和教學中,而不是軟件)。我想把班級時間表示爲這樣一個範圍:「上午9:00 - 上午10:00」。使用Linq for ObjectDataSource:如何使用ToShortTimeString轉換日期時間?
這是我使用提取數據的LINQ查詢:
return classQuery.Select(p => new SelectClassData
{
ClassID = p.ClassID,
Title = p.Title,
StartDate = p.StartDate.ToShortDateString(),
EndDate = p.EndDate.ToShortDateString(),
TimeOfClass =
p.StartDate.ToShortTimeString() + " - " +
p.EndDate.ToShortTimeString()
}).ToList();
正如你所看到的,我編碼的開始和結束時間的開始和結束日期,即使這些可能是不同的日期。
當我執行這個代碼,我得到:
「‘p.EndDate.ToShortTimeString()’無法轉換成表情SQL,不能把它當作一個局部表達。」
我知道我在預測結果,但是,對於Linq來說,我已經假設C#調用ToShortTimeString發生在投影之後。任何人都可以幫助我弄清楚如何獲得我正在尋找的字符串?