得到一个名为Item
的实体,该实体具有DateTime
日期字段,该字段配置有数据注释Column(TypeName="Date")]
(只存储日期,不存储数据库的时间(。
在我的控制器中,我有一个GET
方法,它应该返回一个结果列表。方法的parameter / url
应该看起来像一个日期,但我想不需要是一个日期。
示例:www.localhost:port/16-3-2021
- 我使用
DateTime
作为参数还是使用String
,哪个更容易/更好 - 如果参数是
string
,我如何将其正确解析为一个短日期(使用如上所述的格式(,这样我就可以说:
db.Items.Where(item=>item.Date==Date(
- 如果参数为
DateTime
,我如何配置路由以匹配给定格式(如上所述(
首先,整个方法在我看来是不正确的,而且使用实体框架似乎可以解决您的类型问题。回答您的问题:
- 您只能在
url
中使用string
- 如果我理解正确的话,您只需要一个方法就可以从
Item
类中获得string
,如下所示
public class Item {
Date date { get; set; }
public dateToString()
{
return $"{this.date.Day}-{this.date.Month}-{this.date.Year}";
}
}
- 每次需要将
date
作为string
传递时,只需使用dateToString
,这样就不会丢失格式