Fra*_*ega 6 c# asp.net-mvc data-modeling code-first
我正在开发一个ASP.NET MVC应用程序,设计域模型,使用(测试)新的EF Code First功能.
我有一个活动实体可能有也可能没有截止日期,接近它的最佳方法是什么?
1物业:
public DateTime? Deadline {get; set;}
and check vs null before using
Run Code Online (Sandbox Code Playgroud)
要么
2个属性:
public DateTime Deadline {get; set;}
public bool HasDeadline {get; set;}
Run Code Online (Sandbox Code Playgroud)
起初我想到了第一个选项,但后来我开始考虑可能第二个选项对DB来说会更好......
这有什么最好的做法吗?
Jon*_*eet 10
我会选择第一个选项.毕竟,它恰好是第二种形式的封装形式.
封装清楚地表明您只有一个逻辑值(或缺少逻辑值).在第二种形式中,您可以将属性视为完全独立,这在逻辑上并非如此.
就数据库而言,我希望第一种形式也同样容易...预测你在数据库中有一个可以为空的DATETIME字段,不是吗?它应该直接映射.
| 归档时间: |
|
| 查看次数: |
441 次 |
| 最近记录: |