2013-06-21 99 views
1

我希望LinqPad僅使用日期格式呈現一些DateTime列,沒有時間部分。Linqpad中的自定義日期格式

我試圖用數據註解的屬性(如在ASP.NET MVC)爲我的實體:

public class MyEntity 
{ 
    [DataType(DataType.Date)] 
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")] 
    public DateTime ActivationDate { get; set; } 
} 

但似乎LinqPad不承認它。

任何想法如何在LinqPad輸出中應用自定義格式?

回答

3

現在,有兩種選擇。首先是在全球範圍內執行:轉到編輯|首選項「>」結果「,然後輸入所需的DateTime格式字符串。另一種是通過自定義投影:

from m in MyEntities 
select new 
{ 
    ActivationDate = m.ActivationDate.ToString ("....custom string....."), 
    ... 
} 

這是爲LINQPad是否應閱讀和渲染DateTime是否兌現DisplayFormatAttribute一個有趣的問題。我明天會看看並回傳。

+0

確實很有趣。 'DebuggerDisplayAttribute'也可以這樣說。 –

+0

喬,謝謝你的迴應(當然還有很棒的產品)。我相信ASP.NET社區會非常感激LinqPad是否符合數據註釋屬性,以便我們可以輕鬆地在代碼和LinqPad之間共享完全相同的查詢。 – Ben

+0

LINQPad開始遵守DisplayFormatAttribute的危險在於,由於模糊的DateTime格式化,導出到Excel可能會失敗。另外,您可能希望在顯示給用戶的LINQPad中看到更多細節。需要有一種明顯的方法來關閉這種行爲,這使得該功能變得複雜...... –