2015-04-07 104 views
0

如何創建接受空值的Code First屬性,但它也是[Index(IsUnique=true)]實體框架IsUnique並接受空值

例如:護照號碼不應該重複,如果用戶沒有插入一個,那麼它默認爲空,所以它接受多個空值。

+0

我不認爲你可以在EF中做到這一點,你可能需要回去使用原始的sql來實現你想要的。 –

回答

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

要知道,有國家,不允許存儲這樣的數字。