Scaffolder创建DATETIME而不是DATE,即使数据注释明确设置为DATE也是如此
本文关键字:DATE 设置 注释 DATETIME 创建 Scaffolder 数据 | 更新日期: 2023-09-27 18:25:55
我遇到了一个麻烦,当我在模型中使用数据注释将数据类型设置为DATE时,MVC架子工将数据库中的数据类型设置成DATETIME。有什么线索吗?
[DataType(DataType.Date)]
public DateTime? my_date { get; set; }
我使用的是VS2012,MVC 4.5。
谢谢!
我相信DataTypeAttribute
只有在字段的UI表示方面才有意义(例如,当使用辅助方法DisplayFor
和EditorFor
时)。
引用MSDN(亮点是我的):
DataTypeAttribute属性允许您通过使用比数据库内部类型更具体的类型来标记字段。例如,包含电子邮件地址的字符串数据字段可以使用EmailAddress类型进行属性设置字段模板可以访问此信息,并修改数据字段的处理方式。
似乎没有引用实际使用的数据库类型。
编辑:Fluent Mapping
显然,EF还可以为给定的属性设置DataType:msdn.microsoft.com/en-us/data/jj591617.aspx#1.10。老实说,我从来没有用过它,所以如果你想用你的发现来调查和编辑这个答案,那就太好了!:)