0
我觀察到,當我將實體添加到另一個實體的集合時,不會調用第二個實體的驗證程序。實體級別驗證程序未觸發
我期望在調用savechanges時添加到子集合觸發父級實體級別驗證。
我現在不能寫測試,但如果需要的話,我會在今天下午寫。
這是預期的行爲還是錯誤?
entity.OrderLine().arrayChanged.subscribe(function (args) {
console.log(args);
if (args.added && args.added.some(function (element) {
console.log(element.entityAspect.entityState.name);
return !(element.entityAspect.entityState.isUnchanged()
|| element.entityAspect.entityState.isDeleted());
})) {
console.log("modifico");
entity.entityAspect.setModified();
}
if (args.removed && args.removed.some(function (element) {
console.log(element.entityAspect.entityState.name);
return !element.entityAspect.entityState.isAdded();
})) {
console.log("modifico");
entity.entityAspect.setModified();
}
});
好的,謝謝。我將我的投票添加到用戶語音提示。同時我會採取解決方法。 – 2013-02-12 16:20:50
你好,只有一個問題:在父實體中,我正在從子集合中訂閱arrayChanged事件:entity.OrderLine()。arrayChanged.subscribe(...);我注意到,如果刪除訂單行並調用rejectChanges,則在args變量的添加數組內部,訂單行的entityState將被刪除。我預計它是未經修改的。 ¿這是正確的行爲?我已更新了該問題以向您顯示訂閱。 – 2013-02-13 18:43:56
它應該是未修改的並且已被恢復到陣列。我以爲我看到了這種情況的測試。也許我在做夢。你是否有一個?謝謝。 – Ward 2013-02-14 06:00:08