【问题标题】:send additional parameters to breeze-saving-server functions向微风节省服务器功能发送附加参数
【发布时间】:2014-03-01 23:11:02
【问题描述】:

我在 durandal 项目中工作。 我使用微风来检索和保存我的数据。 我想在保存时向服务器发送实体以外的其他参数,例如 - 谁是保存实体的用户。 但是,brew 的函数 saveChanges 只接受一个参数实体数组进行保存。

我能做什么?

【问题讨论】:

  • 为什么不更新模型以包含这些字段?还是让您的每个对象都继承自具有这些属性的基类?
  • 我们已经讨论过添加一个自定义属性,您可以使用该属性发送任意可序列化的对象。 GO 投票支持用户语音。另一种选择:自定义标题。

标签: c# javascript ajax breeze durandal-2.0


【解决方案1】:

您可以使用 SaveOptions.tag 属性。像这样的:

var so = new SaveOptions({ resourceName: "SaveWithComment", tag: "Whatever data you want" });
return myEntityManager.saveChanges(null, so);

'tag' 属性在 ContextProvider 中的服务器上可用,因此您可以像这样访问它:

// within your server side ContextProvider
protected override bool BeforeSaveEntity(EntityInfo entityInfo) {
   var tag = (string)SaveOptions.Tag;
   ...

}

【讨论】:

  • 谢谢 - 这对于在不更改接口的情况下将额外的 API 版本控制信息传递给服务器很有用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多