2013-06-21 79 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中看到更多细节。需要有一种明显的方法来关闭这种行为,这使得该功能变得复杂...... –