gpt4 book ai didi

javascript - Breeze 是否消除了单页应用程序中对 DTO 的需求?

转载 作者:数据小太阳 更新时间:2023-10-29 06:12:22 24 4
gpt4 key购买 nike

我正在构建我的第一个 SPA,我已经为我的每个实体构建了 DTO,但我发现 Breeze ,它似乎负责将您的更改序列化为最低限度的包以优化更新/添加/等。

我构建 DTO 的原因是为了“扁平化”我的数据并限制我在网络上传输的数据量,但我想知道如果 Breeze 处理它我是否还需要这个开销。

最佳答案

DTO 是有原因的。 “扁平化数据”不是其中之一。也不是“限制我传输的数据量”。

Breeze 在对象图方面做得很好。想象一下,为一位客户发送 100 个订单。您不想在每个订单 DTO 上重复客户名称。借助 Breeze,您可以查询客户订单(使用“展开”),并获得一份客户副本以及与之配套的订单。

var query = new breeze.EntityQuery.from('Customers')           .where('Id', 'eq', 42)           .expand('orders');

另一方面,如果您只想要一个客户名称列表,请使用“投影”:

var query = new breeze.EntityQuery.from('Customers') // all customers           .select('id, companyName'); // project into an anonymous 2-property object

偶尔使用服务器端 DTO 来构建您无法从客户端轻松创建的内容(例如,Customer-and-total-current-year-order-dollars)。

重点是您可以混合使用 DTO、投影和实体查询以满足您的需要。您不必一路走下去(在我看来)。

关于javascript - Breeze 是否消除了单页应用程序中对 DTO 的需求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15530974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com