我有一个测试类和一个只存储日期的 ExecutionDate
属性,但是当我们使用 [DataType(DataType.Date)]
时,它也将时间部分存储在数据库中但我只想要日期部分。
public class Test
{
[Key]
public int Id { get; set; }
[DataType(DataType.Date)]
public DateTime ExecutionDate { get; set; }
}
有什么方法可以使用 Entity Framework 在数据库中只存储时间部分的日期吗?请帮助我....
我在使用存储时间部分 00:00 的 [DataType(DataType.Date)]
时添加了快照,我想删除它
最佳答案
我认为您正在尝试指定数据库列类型。您可以使用 this 中描述的数据注释文章。
这是一个例子:
[Table("People")]
public class Person
{
public int Id { get; set; }
[Column(TypeName = "varchar")]
public string Name { get; set; }
[Column(TypeName="date")]
public DateTime DOB { get; set; }
}
默认情况下,string 被转换为 nvarchar,我们在这里进行了更改。此外,默认情况下映射到 sql server 中的数据时间的日期时间(我想这就是你问的)更改为 date
,它仅存储日期部分而不存储 DateTime< 的时间部分
值。
关于c# - 在数据库中只存储日期而不是时间部分 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33762292/