2016-07-06 8 views
0

Я работаю над проектом, который использует GUID в качестве основного типа ключа, а также я использую ветерок и углы на стороне клиента. Проблема в том, что когда я пытаюсь обновить данные на стороне клиента, полученные данные добавляются к старым данным, однако я хочу обновить данные. Я использую код первого approache для получения метаданных для breeze.js Это часть моей модели класса:Breeze дублирует данные при обновлении

public class Peripherals 
{ 
    public Guid PeripheralId { get; set; } 
    public string Name { get; set; } 
    public string IpAddress { get; set; } 

и это функция, которая обновляет данные:

function getAll(forceRemote, page, size, nameFilter) { 
     var self = this; 
     // Only return a page worth of devices 
     var take = size || 20; 
     var skip = page ? (page - 1) * size : 0; 

     if (self._areItemsLoaded() && !forceRemote) { 
      // Get the page of devices from local cache 
      return self.$q.when(getByPage()); 
     } 

     // Load all devices to cache via remote query 
     return EntityQuery.from('Devices')    
      .orderBy(orderBy) 
      .toType(entityName) 
      .using(self.manager).execute() 
      .then(querySucceeded) 
      .catch(self._queryFailed); 


     function querySucceeded(data) { 
      self._areItemsLoaded(true); 
      self.log('Retrieved [Devices] from remote data source', data.results.length, true); 
      return getByPage(); 
     } 

     function getByPage() { 
      var predicate = null; 

      if (nameFilter) { 
       predicate = _devicePredicate(nameFilter); 
      } 

      var devices = EntityQuery.from(entityName) 
       .where(predicate) 
       .orderBy(orderBy) 
       .toType(entityName) 
       .take(take).skip(skip) 
       .using(self.manager) 
       .executeLocally(); 

      return devices; 
     } 
    } 

ли проблема с Тип GUID? или что?

ответ

0

Вам необходимо убедиться, что направляющая всегда одна и та же для одной записи. Также вы должны установить первичный ключ, рассчитанный по метаданным для объекта