[英]DateTime in Entity Framework
我在使用代码优先的Entity Framework方法在前端正确显示(C#)DateTime /(LocalDB)Date类型时遇到问题。
StudentDetailsDTO
模型类:
public int ID { get; set; }
public string Name { get; set; }
public string LastName { get; set; }
[Column(TypeName = "Date"), DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime BirthDate { get; set; }
public string SID { get; set; }
public string Course { get; set; }
public string GroupName { get; set; }
public string Specialty { get; set; }
BirthDate
列正常工作。 它以提供的格式返回日期(无时间),作为表中DateTime
的替换形式。
但是,在前端,它仍与“ 详细信息”表中的“ T”属性一起显示给特定学生,好像该列中的“ Date
类型无效。
如果我改用string
数据类型,就不会有问题。 但是,我正在尽最大努力遵守适当的数据类型约定。
我是否需要更改控制器中的某些内容? HTML视图? 还是在Knockout.js中? 我已经尝试过在Stackoverflow上提供的一些解决方案,但是它们要么不起作用,要么我无法实现它们。
我是一个完全的新手,迷路了。 这么小的变化,那么多的问题。 对于所有可能的提示或解决方案,我将不胜感激。 感谢您的时间。
这取决于您如何呈现日期。
在剃须刀中,您可以使用:
@Html.DisplayFor(model => model.BirthDate)
或者,如果您正在使用Knockout渲染日期,则可以考虑一下moment.js,然后用View Model中的出生日期替换该日期。
moment('2013-01-01T00:00:00.000').format('YYYY-MM-DD')
您必须使用DataType属性装饰BirthDate使其起作用。
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime BirthDate { set; get; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.