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字段,不是吗?它应该直接映射. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |