2015-02-09 48 views
0

是否可以将自定义字段添加到检索到客户端的微风实体对象并在保存更改之前将其删除?我需要在一个网格中显示一个实体对象列表(Student),并根据他的平均网格自定义字段[Rating]。我在客户端计算的评级。将自定义属性添加到客户端的微风实体

更新: 我试图通过覆盖实体构造如下:

function overrideStudentEntity(metadataStore) { 
     metadataStore.registerEntityTypeCtor('Student', Student); 
     function Student() { 
      this.rating = 0; 
     } 
    } 

回答

0

是的,你可以在客户端实体

我从firstName和的lastName的添加全名添加自定义字段学生对象

var myQuery = breeze.EntityQuery.from('Student');

返回manager.executeQuery(更改为MyQuery)。然后(函数(studentData){ studentData.results.fullName = ko.observable(); studentData.results.fullName(studentData.results.FirstName()+”“+ studentData.results.LastName()) })

现在,无论您何时启用manager.savechanges()方法,它都会自动保存学生对象。

+0

这里的问题是,如果我在结果中有一个对象列表,我必须迭代并添加cust om字段到每个对象的权利?无论如何,我可以重写实体构造函数并执行此操作吗?我试着用metadataStore.registerEntityTypeCtor和它给我错误。 – devC 2015-02-09 12:43:21

+2

'registerEntityTypeCtor'是正确的方法。你是否正在遵循[documentation](http://www.getbreezenow.com/documentation/extending-entities)?你得到什么错误? – 2015-02-09 18:03:00

+0

看起来像施工后初始化器是添加计算或ko.computed评级的地方。 – pawel 2015-02-10 11:13:47

0

尝试重写默认JSON适配器,就像从GitHub中没有服务器实例 “兹” 的例子:

https://github.com/Breeze/breeze.js.samples/blob/master/no-server/edmunds/app/jsonResultsAdapter.js

http://www.breezejs.com/sites/all/apidocs/classes/JsonResultsAdapter.html

app.value('jsonResultsAdapter', 
 
     new breeze.JsonResultsAdapter({ 
 
     name: "edmunds", 
 
     extractResults: function(data) { 
 
      console.log(data); 
 
      var results = data.results; 
 
      if (!results) throw new Error("Unable to resolve 'results' property"); 
 
      return results && (results.operation.details); 
 
     }, 
 

 
     visitNode: function(node, parseContext, nodeContext) { 
 
      // Make parser 
 
      if (node.isoverdue) { 
 
      // move 'node.models' links so 'models' can be empty array 
 
      // node.modelLinks = node.models; 
 
      // node.models = []; 
 
      return { 
 
       entityType: "request" 
 
      } 
 
      } 
 

 
      // Model parser 
 
      else if (node.description) { 
 
      // move 'node.make' link so 'make' can be null reference 
 
      node.makeLink = node.make; 
 
      node.make = null; 
 

 
      // flatten styles and sizes as comma-separated strings 
 
      var styles = node.categories && node.categories["Vehicle Style"]; 
 
      node.vehicleStyles = styles && styles.join(", "); 
 
      var sizes = node.categories && node.categories["Vehicle Size"]; 
 
      node.vehicleSizes = sizes && sizes.join(", "); 
 

 
      return { 
 
       entityType: "requestDetails" 
 
      }; 
 
      } 
 
     } 
 

 
     }));

相关问题