我定义了一个一对多的关系。一个客户可以有很多订单,但一个订单只能属于一个客户。订单可以有多个商品代码,但商品代码只能属于一个订单。订单有一个必填字段:DateCreated
。并且包含商品代码的商品有必填字段,ItemName
。从HERE我明白在微风中使用自定义验证器。微风验证一对多关系
但说我创建具有多个订单的客户实体。然后我添加一个空的DateCreated
字段的另一个订单,从而使这个实体无效。如果我尝试验证使用customer.entityAspect.validateEntity()
客户实体,应该清风能够验证每个项目的订单,导致该客户实体是无效的,因为它没有DateCreated
订单?
同样,如果我将项目添加到没有ItemName
的订单中,是否仍然会判断客户无效,因为它包含一个项目缺少项目名称的订单?也就是说,微风会验证任何嵌套关系的深度?
我一直在尝试了一会儿,但无济于事。在EF定义的集合不只是验证,当我用entity.entityAspect.validateEntity()
,但是当我尝试保存验证失败。如果我尝试验证订单实体本身('order.entityAspect.validateEntity()')或项目实体本身(item.entityAspect.validateEntity()
),验证工作正常。我只是没有当我尝试验证父实体:客户(customer.entityAspect.validateEntity()
)。我想知道这是否正常或我做错了什么。这个验证应该使用自定义验证器来处理吗?