我有一个如下表:
[Table("tblStore")]
public class Store
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Option1 { get; set; }
[Required]
public string Option2 { get; set; }
[Required]
public DateTime Created { get; set; }
}
我需要强制指定 Option1 或 Option2 (不为空)。有人可以建议一种使用 EF 6 做到这一点的方法吗?
你可以做一个技巧:向你的 POCO 类添加新属性,这将是串联的结果Option1
and Option2
并设置为这个属性(让我们称之为Options
) 属性[Required]
。当然,我们需要删除这个属性Option1
and Option2
属性,以便可以分配给它们null
价值观。现在,如果Option1
and Option2
不会有价值观,Options
也将是空白的,因为[Required]
属性,当您尝试将此实体插入数据库时,将引发 EF 的错误:
public class Store
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
[Required]
public string Name { get; set; }
public string Option1 { get; set; }
public string Option2 { get; set; }
[Required]
public string Options { get { return Option1 + Option2; } private set { } }
[Required]
public DateTime Created { get; set; }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)