如何围绕数据库中的空值设计类?

时间:2012-07-11 13:23:59

标签: c# class-design

在我的班上,我有这些二传手/吸气者:

public int Id { get; set; }
public String ProjectName { get; set; }
public String ProjectType { get; set; }
public String Description { get; set; }
public String Status { get; set; }
public DateTime StartDate { get; set; }

DateTime是一种不可为空的类型。因此,当我从遗留数据库中检索我传递给类构造函数的数据时,当StartDate为null时,我会收到错误。

我该如何设计呢?

由于 埃里克

1 个答案:

答案 0 :(得分:14)

您可以从.NET 2.0开始使任何结构可为空。

 public DateTime? StartDate { get; set; }

注意?。它是一个编译器运算符,用于生成Nullable<DateTime>

将它拉出阅读器时,您可以执行此操作

 obj.StartDate = reader["StartDate"] as DateTime?;

以下是有关可空类型的更多信息:http://www.codeproject.com/Articles/275471/Nullable-Types-in-Csharp-Net