EF - 如何使用流畅的EntityTypeConfiguration API定义正则表达式属性?

时间:2013-03-08 01:52:30

标签: entity-framework ef-code-first code-first

使用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??
    }
}

感谢名单!

1 个答案:

答案 0 :(得分:1)

我很确定RegularExpressionAttribute不适用于EF,但它仅用于在视图中生成验证。流畅的API用于配置数据库属性..因此,IsRequired()会将列设置为NOT NULL等。我可能错了,但我相信SQL中没有对正则表达式约束的支持,你会发现这就是EF流畅配置中没有任何内容的原因。这只是为了你的观点......