簡體   English   中英

實體框架中的DateTime

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM