Angularjs Breezejs+;角度-如何正确映射数据库属性名称?

Angularjs Breezejs+;角度-如何正确映射数据库属性名称?,angularjs,select,mapping,breeze,ng-options,Angularjs,Select,Mapping,Breeze,Ng Options,我有一个可工作且可重复使用的自定义指令,它通过ng options进行填充,以下是代码片段: ng-options="datum.name for datum in data track by datum.id" 当我使用一个本地测试JSON文件来填充它时,这就像我可以手动定义name和id属性一样有效。当使用Breezejs(按照预期正确地提取数据)时,数据库具有Product和DeviceID而不是所需的name和id属性 我希望能够提取数据,但将产品和设备id映射到名称和id,这样做可以

我有一个可工作且可重复使用的自定义
指令,它通过
ng options
进行填充,以下是代码片段:

ng-options="datum.name for datum in data track by datum.id"
当我使用一个本地测试JSON文件来填充它时,这就像我可以手动定义
name
id
属性一样有效。当使用Breezejs(按照预期正确地提取数据)时,数据库具有
Product
DeviceID
而不是所需的
name
id
属性

我希望能够提取数据,但将
产品
设备id
映射到
名称
id
,这样做可以确保自定义
指令的可重用性。许多不同的实体需要映射到
name
id
,因此这对于可重用性很重要

我如何做到这一点?我已经看到并认为这是正确的方向。不幸的是,这些例子似乎遗漏了我需要的东西(除非我遗漏了什么)

有没有其他解决方案或方法来解决这个问题?使用breezejs有没有最佳实践方法?提前感谢您提供的任何信息


*找到了解决办法

我使用的是这样一个自定义指令(但我现在添加了
options-map
属性):

因此,我现在可以使用大量自定义的
指令,只需添加
ng选项所使用的适当映射字符串即可


我非常高兴它能发挥作用,并实现了我所希望的灵活性,但我仍然愿意接受改进的想法和/或建议。

你看过定制的NamingConvention吗?NC致力于客户端和服务器端实体属性名称之间的映射业务

我将对此进行研究。谢谢你的提醒。
<sel-select-box
        id="selectBoxDevice1"
        select-size="10"
        options-map="datum.Product for datum in data track by datum.DeviceID"
        service-in="deviceSearchDataService"
        service-in-watch="getDevice1Matches"
        service-in-restore="getDevice1Selection"
        service-out="deviceSearchDataService"
        service-out-send="updateDevice1Selection">
</sel-select-box>
<select 
    class="form-control"
    ng-model="selected"
    ng-change="onChange()"
    ng-click="onClick()"
    ng-options="{{optionsMap}}"
    data-ng-attr-size="{{selectSize}}">
</select>