具有EF代码优先权的SQL Server中的不可为空的DateTime

时间:2012-03-27 09:09:24

标签: sql-server entity-framework code-first

我有一个名为Tournaments的表,它是使用EF代码第一种方法创建的,具有以下属性:

    public int TournamentID { get; set; }
    public String Name { get; set; }
    public String DirectorSurname { get; set; }
    public String DirectorFirstName { get; set; }
    public String Logo { get; set; }
    public String Timezone { get; set; }
    public String Telephone { get; set; }
    public String Fax { get; set; }
    public String Email { get; set; }
    public String Website { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
    public int IntervalTime { get; set; }

如果我运行此命令并检查我的SQL Server Management Studio,则会创建StartDate和EndDate,但它不可为空,尽管我没有添加[Required] DataAnnotations。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

试试这个:

public DateTime? StartDate {get;set;}
public DateTime? EndDate {get;set;}

C#可空类型转换为SQL可空。

答案 1 :(得分:0)

您可以使用System.Nullable来定义可以为空的类型......