来自Controller的Breeze服务器端验证

时间:2014-06-27 20:01:06

标签: entity-framework breeze

我有一个实体,说“汽车”,与其他实体有许多关系。其中一个关系是实体“ParkingSpot”。实体框架中的关系是1车到多停车点,但它总是一对一,只有1对多的EF,这是另一个故事。

我想要一个执行以下操作的服务器端删除方法 -

  1. 执行错误检查(除了ParkingSpot之外的所有FK约束关系),提供者用户友好错误
  2. 从ParkingSpot中删除此Car(如果所有其他约束错误都通过,则删除工作)
  3. 删除汽车
  4. 现在我有方法

    [HttpGet]
    public bool DeleteCar(int carId) 
    

    每个错误都会抛出一个HttpResponseException。因此,用户可能会收到错误,修复问题,再次尝试,获取其他错误等。这有点蹩脚。我尝试使用EFEntityErrors的集合抛出EntityErrorsException,如下所述 - http://www.breezejs.com/documentation/server-side-validation

    但它只是在httpresponse的数据中作为JSON字符串出现,可能是因为它没有在文章中显示的BeforeSaveEntitiesDelegate中完成?我不能在这里真正做到这一点,因为其他情况要求以其他方式删除此实体,您希望“ParkingSpot”约束失败。

    提供此类验证的最佳方式是什么?

0 个答案:

没有答案