为什么真正喜欢使用Breeze的一个原因是因为我对元数据有很多自由,我使用这种自由来手动提供实体模型,包括验证器。这很好用,但是在本地化标准验证器的消息时,我注意到它们使用属性名而不是显示名,这是因为我在从服务器加载元数据之后设置了显示名。好吧,问题是我想避免第二次调用服务器只是为了获取显示名称。作为临时解决方案,我更改了breeze代码以允许从服务器发送的元数据中获取displayName,但是再次,我不喜欢更改breeze源。
有没有其他方法可以在一次通话中获取元数据并将其提供给微风?当然,欢迎使用描述或水印等其他信息。
最新版本提供了一个我可以使用的自定义节点,但是我需要为每个属性使用某种拦截器,在这里我获取显示名称并将其设置为数据和导航属性。有没有办法做到这一点?
备注:我在github上有一个针对breeze项目的pull请求,这些更改很少。
答案 0 :(得分:0)
据推测,您已经阅读过Breeze的“自定义”元数据支持:http://www.breezejs.com/documentation/custom-metadata
如果是这样,那么您需要做的就是在服务器上创建一个自定义端点,以“自定义元数据”格式创建json(您可能会在服务器上使用反射来收集此数据),并将此json返回给客户端然后调用
myMetadataStore.importMetadata(customMetadataFromServer, true);