Widgetmaster 有许多 widgetVersions。一个widgetVersion 只能有一个widgetMaster。
Public Class widgetMaster
Public Property ID() As Integer
...other properties
Public Overridable Property WidgetVersions() As ICollection(Of widgetVersion)
End Class
Public Class widgetVersion
Public Property ID() As Integer
Public Property WidgetMasterID() As Integer
...other properties
Public Overridable Property WidgetMaster() As widgetMaster
End Class
我的视图模型:
var newWidget = ko.observable();
var newWidgetVersion = ko.observable();
var isSaving = ko.observable(false);
var activate = function () {
return datacontext.newWidget(newWidget),
datacontext.newWidgetVersion(newWidgetVersion).then(setNewWidgetVariables());
}
};
var setNewWidgetVariables = function() {
newWidget().groupId(globalVar.selectedGroupId());
}
var save = function () {
isSaving(true);
return datacontext.saveChanges([newWidget]).fin(complete);
function complete() {
isSaving(false);
}
};
即使我的 saveChanges 只指定了 newWidget 实体:
return datacontext.saveChanges([newWidget]).fin(complete);
...Breeze 仍在向 widgetVersions 表中添加一个子“widgetVersion”(也没有设置任何 widgetMasterID - 它设置为 0),我不希望它这样做!或者至少如果它仍然存在,我希望它获取新添加的 widgetMasterID。
即使我告诉它只做主,为什么微风会添加相关实体?我想做主,获取新 ID,然后保存包含该新 ID 的 widgetVersion 实体,而 Breeze 出于某种我不明白的原因阻止我这样做。