C# 如何在实体框架中强制要求日期仅为日期(或12:00AM)的约束

C# 如何在实体框架中强制要求日期仅为日期(或12:00AM)的约束,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,以模型为例 public class Patient { public int ID { get; set; } public string Name { get; set; } public DateTime DateOfBirth { get; set; } } 我可以将此模型与代码优先实体框架结合使用,将患者记录存储在患者表中。一般认为,DateOfBirth从不指出生时间,从概念上讲,它应该是一个仅限日期的字段,而不是日期时间。然而,DateTime对象总是有一

以模型为例

public class Patient
{
    public int ID { get; set; }
    public string Name { get; set; }
    public DateTime DateOfBirth { get; set; }
}
我可以将此模型与代码优先实体框架结合使用,将患者记录存储在
患者
表中。一般认为,
DateOfBirth
从不指出生时间,从概念上讲,它应该是一个仅限日期的字段,而不是日期时间。然而,
DateTime
对象总是有一个时间组件,因此将其表示为时间设置为午夜的日期时间似乎相当常见


有没有办法在数据库中使用代码优先EF强制执行此约束?理想情况下,尝试使用除午夜以外的时间组件保存出生日期的尝试应该失败。

在您的数据库模式中,您可以使用sql server类型而不是datetime2吗?(我认为可能会发生的情况是,在您的数据库模式中,任何时间信息都可能被忽略,但不会失败),您可以使用sql server类型而不是datetime2吗?(我认为可能会发生的情况是,任何时间信息都可能被忽略,但不会失败)