【发布时间】:2017-10-06 22:23:41
【问题描述】:
我有一个添加了一些新列的表,它们允许空值准确地容纳现有数据。在创建这些记录时,新列不存在,因此 null 准确地表示了当时数据库的状态。对于所有新数据,我不想允许空值。管理它的最佳做法是什么?
如果我在EntityTypeConfiguration 类中使用.IsRequired(),它将尝试更改表以使列不可为空,并在遇到历史空值时失败。我仍然希望能够读取那些旧记录,我只是不想写任何没有新列的新记录。
我想在尽可能靠近数据库的地方执行此操作,因此我在 setter 中放置了一些验证代码。
private string _CountryCode;
public string CountryCode
{
get
{
return _CountryCode;
}
set
{
if (string.IsNullOrEmpty(value))
throw new ArgumentException("Country Code Required");
_CountryCode = value;
}
}
这确实有效,但我总觉得那里有更清洁的解决方案。
【问题讨论】:
标签: c# asp.net entity-framework