使用DataAnnotations设置属性很简单:
[RegularExpression("^[A-Za-z0-9](([_\\.\\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\\.\\-]?[a-zA-Z0-9]+)*)\\.([A-Za-z]{2,})$")]
public string Email { get; set; }
但是如何使用流畅的API来做呢?
public class UserConfiguration : EntityTypeConfiguration<User>
{
public UserConfiguration()
{
//email
Property(p => p.Email).IsRequired();
//setting up regex??
}
}
感谢名单!
答案 0 :(得分:1)
我很确定RegularExpressionAttribute
不适用于EF,但它仅用于在视图中生成验证。流畅的API用于配置数据库属性..因此,IsRequired()
会将列设置为NOT NULL
等。我可能错了,但我相信SQL中没有对正则表达式约束的支持,你会发现这就是EF流畅配置中没有任何内容的原因。这只是为了你的观点......