我定義了一個一對多的關係。一個客戶可以有很多訂單,但一個訂單隻能屬於一個客戶。訂單可以有多個商品代碼,但商品代碼只能屬於一個訂單。訂單有一個必填字段:DateCreated
。並且包含商品代碼的商品有必填字段,ItemName
。從HERE我明白在微風中使用自定義驗證器。微風驗證一對多關係
但說我創建具有多個訂單的客戶實體。然後我添加一個空的DateCreated
字段的另一個訂單,從而使這個實體無效。如果我嘗試驗證使用customer.entityAspect.validateEntity()
客戶實體,應該清風能夠驗證每個項目的訂單,導致該客戶實體是無效的,因爲它沒有DateCreated
訂單?
同樣,如果我將項目添加到沒有ItemName
的訂單中,是否仍然會判斷客戶無效,因爲它包含一個項目缺少項目名稱的訂單?也就是說,微風會驗證任何嵌套關係的深度?
我一直在嘗試了一會兒,但無濟於事。在EF定義的集合不只是驗證,當我用entity.entityAspect.validateEntity()
,但是當我嘗試保存驗證失敗。如果我嘗試驗證訂單實體本身('order.entityAspect.validateEntity()')或項目實體本身(item.entityAspect.validateEntity()
),驗證工作正常。我只是沒有當我嘗試驗證父實體:客戶(customer.entityAspect.validateEntity()
)。我想知道這是否正常或我做錯了什麼。這個驗證應該使用自定義驗證器來處理嗎?