是否可以通过另一个表中的导航属性设置主外键?

时间:2013-03-18 15:28:53

标签: breeze

我有一个表TaxReturn,它有一个ProcessID的主外键,映射到ProcessID的Process表主键。我需要将TaxReturn的ProcessID设置为Process表的ProcessID。我怎么能用Breeze做到这一点所以我没有保存两次并且两次往返数据库?

1 个答案:

答案 0 :(得分:0)

我可以改写一下吗?

  • 您有两个表,ProcessTaxReturn
  • ProcessTaxReturn
  • 有1 ..(0,1)关联
  • ProcessIDProcess
  • 的PK
  • ProcessIDTaxReturn的PK,也是父Process
  • 的FK

因此,Process可以有零个或一个TaxReturn

如果您同时创建并保存ProcessTaxReturn(假设camelCase NamingConvention):

var process = manager.createEntity('Process');
var taxReturn = manager.createEntity('TaxReturn', {ProcessID: process.processID});
// ... fill them in
return manager.saveChanges(); // Breeze saves them together in a single transaction.

如果您向现有TaxReturn添加Process

var taxReturn = manager.createEntity('TaxReturn', {ProcessID: existingProcess.processID});
// ... fill them in
return manager.saveChanges(); // saves the new TaxReturn.