加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 更好的设计/实践:Nullable属性或1值属性和1 bool“has”

发布时间:2020-12-15 18:34:02 所属栏目:百科 来源:网络整理
导读:我正在开发一个ASP.NET MVC应用程序,设计域模型,使用(测试)新的EF Code First功能. 我有一个活动实体可能有也可能没有截止日期,接近它的最佳方法是什么? 1物业: public DateTime? Deadline {get; set;}and check vs null before using 要么 2个属性: publ
我正在开发一个ASP.NET MVC应用程序,设计域模型,使用(测试)新的EF Code First功能.

我有一个活动实体可能有也可能没有截止日期,接近它的最佳方法是什么?

1物业:

public DateTime?  Deadline {get; set;}
and check vs null before using

要么

2个属性:

public DateTime Deadline {get; set;}
public bool HasDeadline  {get; set;}

起初我想到了第一个选项,但后来我开始考虑可能第二个选项对DB来说会更好……

这有什么最好的做法吗?

解决方法

我会选择第一个选项.毕竟,它恰好是第二种形式的封装形式.

封装清楚地表明您只有一个逻辑值(或缺少逻辑值).在第二种形式中,您可以将属性视为完全独立,这在逻辑上并非如此.

就数据库而言,我希望第一种形式也同样容易…预测你在数据库中有一个可以为空的DATETIME字段,不是吗?它应该直接映射.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读