Npoco建立Model时遇到DateTime类型默认值为空时该怎么写

    xiaoxiao2021-12-14  58

    一般来说不用这种ORM的话不会遇到这样的问题,但是Npoco里添加时每一个字段都是要顾及到的,也就是说每个字段都要给定值。

    当遇到DateTime类型的字段,而当时又不需要给它值或者赋值了反而达不到预期的效果时,就需要改一改了。

    有人说可以直接用String类型就好了呀,但是为了安全起见哈,我们还是固定一下类型比较好,不要给它那么大的范围。

    栗子如下:

    有电话表,结构如下:

    现在我们要添加一个电话,但是它暂时不需要填写停用这个字段,但是在Npoco里添加一条数据必须给每个字段赋值,我们在建立Model的时候就可以这样写:

    [TableName("Call")] [PrimaryKey("Id")] public class Call { [Ignore] public int IdIndex { get; set; } [Column] public virtual int Id { get; set; } /// <summary> /// 手机 /// </summary> [Column] public virtual string Call { get; set; } [Column] public virtual string Key { get; set; } /// <summary> /// 联系人标识 /// </summary> [Column] public virtual string ContactKey { get; set; } /// <summary> /// IsStop /// </summary> [Column] public virtual bool IsStop { get; set; } /// <summary> /// 创建时间 /// </summary> [Column] public virtual DateTime CreateDate { get; set; } /// <summary> /// 停用时间(修改时间) /// </summary> [Column] public virtual DateTime? StopDate { get; set; } } 在停用时间这里我们给它设置为可空类型,加个问号,在添加的时候不赋值的话可以发现这个字段为null

    同时数据也可以添加进去而不会报错。

    如果不这样写,报错时就会显示:

    “出现错误”

    SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。

    报这种错的对照着看一下哈。

    End

    转载请注明原文地址: https://ju.6miu.com/read-963921.html

    最新回复(0)