实体框架是唯一的,并接受null
本文关键字:null 框架 唯一 实体 | 更新日期: 2025-04-15 20:26:14
如何创建一个接受空值但也是[Index(IsUnique=true)]
的Code First属性?
例如:护照号码不应该重复,也就是IsUnique
,但如果用户没有插入一个,那么它默认为null,因此它接受多个null。
因为它不会是唯一的,所以不能这样做。但你可以通过附加一个表来管理它:
public class Person {
public int Id { get; set; }
}
public class Passport {
[Key]
public int PersonId { get; set; }
[ForeignKey("PersonId")]
public Person Person { get; set; }
[Index(IsUnique=true)]
public string PassportId { get; set; }
}
请注意,有些国家不允许存储此类数字。