网上有些人说干脆在设计数据库时便将字段类型设计为varchar,这样我想对查查询会有问题,因为需要照顾这里而引发了更多的问题。
也有人说在类中将其类型定义为object,但由觉得不太好。

解决方案 »

  1.   

    为什么不用当前日期做为初始值.如果非要存最小值,可以把数据库的数据类型定义成varchar型的,这不就没有限制了吗
      

  2.   

    1:DateTime.Now2:Nullable<DateTime>
      

  3.   

    难道实例化对象的时候不设置这两个属性吗?如果是这样在插入的时候就不要向这两个字段插入值,在数据库设置默认值getdate(),这样就不会出现这个问题了。
      

  4.   

    [Quote=引用 3 楼 hhwyss 的回复:]
    1:DateTime.Now DateTime.Now是不行的。从业务上讲有些字段必须保留空值,或表示未设置时间的值。
      

  5.   

    难道实例化对象的时候不设置这两个属性吗?如果是这样在插入的时候就不要向这两个字段插入值,在数据库设置默认值getdate(),这样就不会出现这个问题了。
      

  6.   


    如果将Model中的DATETIME初始默认值为DateTime.minvalue则在DAL层中就会报错,因为当向存储过程传递参数时就需要转换为SqlDbtype的。根本到不了存储过程那地方,GetDate()自然也就没可能实现了.如:                db.CreateInParameter("@R6",System.Data.SqlDbType.DateTime,16,Customer.R6),
                    db.CreateInParameter("@R7",System.Data.SqlDbType.DateTime,16,Customer.R7),
    哪此,R6必须初始为既被C#认可的值,又被SQL SERVER认可的值。