[英]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.