Breeze元数据无法选择EF Data Annotation

时间:2014-06-15 21:24:31

标签: entity-framework breeze data-annotations

我有一个使用数据注释定义的模型

    public int Id { get; set; }

    [Required, MaxLength(50)]
    public string Title { get; set; }

    [Required, StringLength(2000,MinimumLength = 300)]
    public string Description { get; set; }

    [Required,Range(10,500)]
    public int Budget { get; set; }

我发现breeze元数据无法正确获取描述(minlength)和Budget(min和max length的范围)。由于这个微风验证不适合客户端。以下是上述模型的微风元数据,如

property: [
   {
     name: "Id",
     type: "Edm.Int32",
     nullable: "false",
     annotation:StoreGeneratedPattern: "Identity"
   },
   {
     name: "Title",
     type: "Edm.String",
     maxLength: "50",
     fixedLength: "false",
     unicode: "true",
     nullable: "false"
   },
   {
     name: "Description",
     type: "Edm.String",
     maxLength: "300",
     fixedLength: "false",
     unicode: "true",
     nullable: "false"
   },
   {
     name: "Budget",
     type: "Edm.Int32",
     nullable: "false"
   }
]

请建议

1 个答案:

答案 0 :(得分:0)

目前breeze仅支持Entity Framework CSDL元数据捕获的那些数据注释。这意味着目前只有[Required],[MaxLength]和[MinLength]属性。其中Breeze仅为[Required]和[MaxLength]属性生成客户端验证。 (缺少MinLength属性是我们的一个疏忽,将很快修复。)。

但是,您可以并且应该将自己的验证直接添加到客户端模型中。见http://www.breezejs.com/documentation/validation

还有一个Breeze User Voice功能建议。请投票支持。