为什么breeze向服务器发送未映射属性的originalvaluesMap?

为什么breeze向服务器发送未映射属性的originalvaluesMap?,breeze,Breeze,我正在将Breeze1.4.11与Web Api和EFContextProvider一起使用 获取元数据后在客户端上扩展实体类型: var addressStringProperty = new breeze.DataProperty({ name: "addressString", isUnmapped: true }) metadataStore.getEntityType('Account').addProperty(addressStringProperty); 此属性

我正在将Breeze1.4.11与Web Api和EFContextProvider一起使用

获取元数据后在客户端上扩展实体类型:

var addressStringProperty = new breeze.DataProperty({
    name: "addressString",
    isUnmapped: true
})
metadataStore.getEntityType('Account').addProperty(addressStringProperty);
此属性仅在客户端上计算和使用

entitymanager.saveChanges([accountEntity])
之后,我在服务器端的
contextprovider.BeforeSaveEntity
中看到
entityInfo.OriginalvaluesMap
包含值==null的键“AddressString”

与扩展实体相同,例如:

var accountCtor = function() {
  this.addressString = ko.observable()
};
metadataStore.registerEntityTypeCtor('Account', accountCtor);

如何忽略这种行为?

这是一个很好的问题,可能是一个疏忽。我会添加它作为一个新的错误,但是。。。出于好奇,为什么这对你来说有问题

我在服务器上检查客户端上更改了哪些属性。某些用户在编辑实体时受到限制。在这种情况下,用户只能编辑一个特定属性,但客户端在originalValuesMap中发送了两个属性。originalValuesMap不包含实体初始值设定项中添加的属性的键,所以问题实际上可以解决。