Entity framework Breeze JS:实体错误阻止在客户端上修补

Entity framework Breeze JS:实体错误阻止在客户端上修补,entity-framework,breeze,Entity Framework,Breeze,我正在调用entityManager.saveChanges以将当前更改的所有实体从客户端发送到服务器。然后在服务器上的BeforeSaveEntity事件中,我正在对每个实体执行一些服务器端验证,以查看是否应该将其从保存映射中排除。例如,我的实体可能有一个太长的描述值。因此,我从BeforeSaveEntity返回false,并生成一个新的EntityError,然后将其添加到saveResult.EntityErrors集合中。所有未从保存映射中排除的有效记录都将成功保存,并且我的保存结果将

我正在调用entityManager.saveChanges以将当前更改的所有实体从客户端发送到服务器。然后在服务器上的BeforeSaveEntity事件中,我正在对每个实体执行一些服务器端验证,以查看是否应该将其从保存映射中排除。例如,我的实体可能有一个太长的描述值。因此,我从BeforeSaveEntity返回false,并生成一个新的EntityError,然后将其添加到saveResult.EntityErrors集合中。所有未从保存映射中排除的有效记录都将成功保存,并且我的保存结果将返回给客户端。但是由于这个单一实体错误,返回的实体不会在客户端上自动修补。我查看了源代码,基本上似乎有一个检查表明saveResult.EntityErrors集合中是否有任何内容,不必麻烦修补程序。但是只有一个实体故意没有保存,所以我仍然希望能够修补其他实体。这种行为是故意的吗?我希望能够从保存中排除某些实体(我可以使用BeforeSaveEntity事件进行此操作),但似乎没有任何方法可以使用内置机制将实体错误返回到客户端,而不放弃完整的修补程序。

如果可能,breeze中的保存是事务性的(有些后端提供程序(如MongoDb)不支持,因为它们不支持。)这意味着,如果存储捆绑包中的任何实体出现任何故障,则整个存储将被还原,并向客户端返回错误。这是出于设计