2

我有一个实体属性定义如下

 public virtual string Subject { get; set; }

并将其映射为

 this.Property(t => t.Subject)
                .IsRequired()
                .HasMaxLength(255);

但这不提供对空字符串的验证。我可以使用 fluent api 指定以下约束吗?

[Required(AllowEmptyStrings=false)]
        public virtual string Subject { get; set; }
4

2 回答 2

3

不,您不能,因为 fluent-api 描述了到数据库的映射,而带有不允许空字符串的属性描述了验证。只有验证规则的子集可以转换为映射。

于 2012-05-01T20:28:51.817 回答
0

您是否尝试覆盖OnModelCreatingDbContext 类中的方法?

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
  modelBuilder.Entity<Message>().Property(x => x.Subject).IsRequired();
  base.OnModelCreating(modelBuilder);
}
于 2012-05-01T20:23:44.937 回答