实体框架IsUnique并接受Null

时间:2015-04-07 04:44:21

标签: c# entity-framework

如何创建接受空值的Code First属性,但它也是[Index(IsUnique=true)]

例如:不应重复护照号码,而不是IsUnique,但如果用户没有插入,则默认为null,因此它接受多个空值。

1 个答案:

答案 0 :(得分:0)

因为它不会是唯一的,所以你不能这样做。 但是你可以通过附表来管理它:

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; }
}

请注意,有些国家/地区不允许存储此类号码。