c# - 在数据库中只存储日期而不是时间部分 C#

标签 c# entity-framework datetime sqldatatypes entity-framework-6.1

我有一个测试类和一个只存储日期的 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)] 时添加了快照,我想删除它

enter image description here

最佳答案

我认为您正在尝试指定数据库列类型。您可以使用 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/

相关文章:

c# - setIfNull 扩展方法不会将值设置给对象

c# - 未找到 GeckoFX JSContext C#

php - DateTime 对象上的不同 timezone_types

c# - asp.net 在 c# 中使用 switch case for datetime.now.hour 格式

c# - 如何在 C# 中检测 Active Directory 路径

c# - 创建迁移时 EF Core 工具出错

c# - 将列表拆分为 block - C#

c# - 通过并行调用 WCF 避免相同的代码运行两次

c# - 两个日期之间的天数是多少?

C# foreach 带逗号的字符串