好吧,我正在尝试对我的表应用检查约束!所以我有国家代表,每个国家都应该有一个代表,一个Individual或一个,Organization但不是两者都有;例如,如果 anIndividual代表国家,则OrganizationId应该是null。我如何使用 Code First Data Annotations 或是否有任何其他方式应用此检查约束。这是我的代码: class CountryRepresentative{ [Column(Order = 0), Key, ForeignKey("Incident")] public Guid CountryId { get; set; } [Column(Order = 1), ForeignKey("Organization")] public int OrganizationId { get; set; } [Column(Order = 2), ForeignKey("Individual")] public int IndividualId { get; set; } public virtual Organization Organization { get; set; } public virtual Individual Individual { get; set; } public virtual Incident Incident { get; set; }}我希望一切都清楚。谢谢小伙伴们
1 回答

牧羊人nacy
TA贡献1862条经验 获得超7个赞
我会使用 Fluent API 手动定义约束:
migrationBuilder.Sql("ADD CONSTRAINT CK_ONLY_ONE_VAL CHECK ((nullif(one,'') is null or nullif(other,'') is null) and not (nullif(one,'') is null and nullif(other,'') is null) );");
这nullif()
将有助于检查空值并转换为null
...
- 1 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消