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

KAR*_*RAN 15 c# datetime entity-framework 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; }      
}
Run Code Online (Sandbox Code Playgroud)

有没有办法只使用Entity Framework在db中存储日期时间部分?请帮我....

我在使用时添加了快照[DataType(DataType.Date)],存储时间部分00:00我要删除它

在此输入图像描述

Rav*_*tel 34

我认为您正在尝试指定数据库列类型.在描述你可以使用数据标注文章.

这是一个例子:

[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; }
}
Run Code Online (Sandbox Code Playgroud)

默认情况下,字符串被转换为nvarchar,我们在这里已经改变了.此外,Datetime(这是你我想的那个)默认映射到sql server中的datatime,更改为date仅存储日期部分而不存储DateTime值的时间部分.