2014-10-29 2 views
0

Я устанавливаю свойства в объектах Bree на стороне клиента. Я вижу коллекцию EntityInfo UnmappedValuesMap, которую я хотел бы использовать. Было бы здорово, если бы я мог получить несколько пользовательских значений клиента, возвращенных в коллекции Unmapped, чтобы не добавлять их повсюду.Как мне получить значения, отличные от сервера, от клиента?

Я инициализация metastore с:

 store.registerEntityTypeCtor("UserInfo", null, userInfoInitializer); 

    function userInfoInitializer(userinfo) { 
     userinfo.creatingId = ko.observable(0); 
     ... 

Я надеялся, что 'creatingId' бы получить передается на сервер. Но ничего лишнего не появляется в сетевом трафике. Я не думаю, что это важно, но на сервере я использую Breeze.ContextProvider.

Существуют ли какие-либо флаги, которые регулируют это поведение? Спасибо за любые рекомендации.

ответ

0

Если вы хотите добавить «creatingId» для каждого типа объекта вы могли бы сделать что-то вроде этого:

metadataStore.getEntityTypes().forEach(
    function(entityType) { 

     var ctor = function() { 
      this.creatingId = 0; 
     }; 

     metadataStore.registerEntityTypeCtor(entityType.name, ctor, null); 
    }); 

Примечание- с помощью конструктора вместо инициализатор. Это обеспечит, чтобы значение появилось в коллекции несвязанных значений. Не волнуйтесь, бриз сделает это наблюдаемым свойством на вашей сущности.