是否可以查看特定 属性 是否在修改后的实体上发生了变化?
Is it possible to see if a specific property changed on a modified entity?
保存某个实体时,如果该实体的 Approved
属性 已更改,我想发送通知电子邮件。
if (changedEntity.Entity is Option)
{
// Pseudo
if changedEntity.Entity.Approved changed {
send notification()
}
}
有没有特定的方法可以做到这一点?或者可以通过比较 CurrentValues
和 OriginalValues
来完成吗?
如果您知道要 'watch' 的具体实体,您可以使用 EntityAspect.propertyChanged 事件(参见:http://breeze.github.io/doc-js/api-docs/classes/EntityAspect.html#event_propertyChanged)像这样:
// assume order is an order entity attached to an EntityManager.
myEntity.entityAspect.propertyChanged.subscribe(function(propertyChangedArgs) {
// this code will be executed anytime a property value changes on the 'myEntity' entity.
if ( propertyChangedArgs.propertyName === "Approved") {
// perform your logic here.
}
});
或者如果您想在每个实体上观看特定的 属性,您可以使用 EntityManger.entityChanged 事件执行类似的测试(参见:http://breeze.github.io/doc-js/api-docs/classes/EntityManager.html#event_entityChanged)
myEntityManager.entityChanged.subscribe(function (args) {
// entity will be the entity that was just changed;
var entity = args.entity;
// entityAction will be the type of change that occured.
var entityAction = args.entityAction;
if (entityAction == breeze.EntityAction.PropertyChange) {
var propChangArgs = args.args;
if (propChangeArgs.propertyName === "Approved") {
// perform your logic here
}
}
});
可以在此处找到更多详细信息:http://breeze.github.io/doc-js/lap-changetracking.html
使用myEntity.entityAspect.originalValues
。此散列将仅包含已更改属性的值。
保存某个实体时,如果该实体的 Approved
属性 已更改,我想发送通知电子邮件。
if (changedEntity.Entity is Option)
{
// Pseudo
if changedEntity.Entity.Approved changed {
send notification()
}
}
有没有特定的方法可以做到这一点?或者可以通过比较 CurrentValues
和 OriginalValues
来完成吗?
如果您知道要 'watch' 的具体实体,您可以使用 EntityAspect.propertyChanged 事件(参见:http://breeze.github.io/doc-js/api-docs/classes/EntityAspect.html#event_propertyChanged)像这样:
// assume order is an order entity attached to an EntityManager.
myEntity.entityAspect.propertyChanged.subscribe(function(propertyChangedArgs) {
// this code will be executed anytime a property value changes on the 'myEntity' entity.
if ( propertyChangedArgs.propertyName === "Approved") {
// perform your logic here.
}
});
或者如果您想在每个实体上观看特定的 属性,您可以使用 EntityManger.entityChanged 事件执行类似的测试(参见:http://breeze.github.io/doc-js/api-docs/classes/EntityManager.html#event_entityChanged)
myEntityManager.entityChanged.subscribe(function (args) {
// entity will be the entity that was just changed;
var entity = args.entity;
// entityAction will be the type of change that occured.
var entityAction = args.entityAction;
if (entityAction == breeze.EntityAction.PropertyChange) {
var propChangArgs = args.args;
if (propChangeArgs.propertyName === "Approved") {
// perform your logic here
}
}
});
可以在此处找到更多详细信息:http://breeze.github.io/doc-js/lap-changetracking.html
使用myEntity.entityAspect.originalValues
。此散列将仅包含已更改属性的值。