2016-08-24 138 views
2

我想存储在数据库实体框架表约束

public class Account 
{ 
    [Key] 
    public int Id { get; set; } 

    [Index(IsUnique = true), Required] 
    public string UserName { get; set; } 

    [Required] 
    public string Password { get; set; } 

    [Required] 
    public string Email { get; set; } 
} 

什么办法说数据库属性的电子邮件必须有适当的形式里面这样的对象?因此,如果我想添加帐户

var account = new Account 
{ 
    UserName = "X", 
    Password = "X", 
    Email = "NotValidEmail" 
} 

数据库将不会接受该对象。

回答

1

添加此通过电子邮件属性,

[EmailAddress(ErrorMessage = "Invalid Mail Address")] 

希望帮助,

+0

又增加了该批注,但没有happend :( – igorr

+0

@igorr我的坏,检查更新的答案。 – Berkay

+0

任何方式使用正则表达式?来验证字符串列 – igorr

0

嗯,我个人并不认为数据的基础应该知道如果格式正确与否。这是你的工作,以确保它是在添加对象到数据库之前,更多的细节可以找到this答案。

+0

假设应用程序有两层:1.数据存储层,2.表示层,第二层可以由很多人实现,但是存储层是恒定的,那时我想要有防止添加的机制来自表示层的错误数据,因为数据可能不是我的。 – igorr