总结:
对于对象的属性:
在表现层和业务层,对没有数据的属性赋值为null(C#类型),所以DateTime类型要使用可为空类型,Int型也应该使用可未空类型
在业务层和数据层进行交互时:
写入时:判断属性值是否为null,如果是,应该把参数赋值:DBNull.Value
读出时:判断reader.IsDBNull后再取值。
原则:写入和读出数据库时,考虑空值类型。对象初始化时,考虑空值类型。
对与实体对象:在仓储中进行load时,若内容为空,应该返回一个定义好的空类型。否则可能返回的是一个没有任何内容的对象(先用factory创建了)。