Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Breeze 微风中的往返。夏普ToDo样本项目_Breeze_Breeze Sharp - Fatal编程技术网

Breeze 微风中的往返。夏普ToDo样本项目

Breeze 微风中的往返。夏普ToDo样本项目,breeze,breeze-sharp,Breeze,Breeze Sharp,我能够安装Breeze.Sharp项目。我在添加新的待办事项时注意到一个行为。添加新的todo项目时,客户端将执行服务器调用SaveChanges,并成功添加该项目。客户端必须再次通过QueryAllTodos调用服务器,以再次获取最新列表。为什么往返是必要的?SaveChanges方法不应该将更改(添加后的新列表)与客户机列表合并,以避免再次出现这种往返吗?您是正确的。在保存后不需要重新查询,除非有其他服务器端的“副作用”(如触发器)也会更改数据。这段代码只是为了安全起见 既然你提到了副作用,

我能够安装Breeze.Sharp项目。我在添加新的待办事项时注意到一个行为。添加新的todo项目时,客户端将执行服务器调用SaveChanges,并成功添加该项目。客户端必须再次通过QueryAllTodos调用服务器,以再次获取最新列表。为什么往返是必要的?SaveChanges方法不应该将更改(添加后的新列表)与客户机列表合并,以避免再次出现这种往返吗?

您是正确的。在保存后不需要重新查询,除非有其他服务器端的“副作用”(如触发器)也会更改数据。这段代码只是为了安全起见

既然你提到了副作用,Breeze.Sharp会优雅地处理并发问题吗?例如,保存订单时,触发器会计算订单行项目的单个装运成本,并立即将其保存在同一个表中。另一个例子是两个用户正在更新相同的客户详细信息。当一个用户A保存客户详细信息时,另一个用户B已经保存了他的更改,因此用户A的客户数据会过时,并出现并发问题。如果您在模型中定义了并发列,breeze在每次执行更新时都会检查这些,如果实体已被另一个进程更新,则会引发并发异常。严格来说,不需要重新查询。之所以包括它,部分原因是传统的Todo应用程序在保存后重新查询,部分原因是为了获取其他用户可能进行的其他更改。这是我的借口,我坚持下去。:-)