DTO和对象图

时间:2016-11-21 10:18:48

标签: angularjs asp.net-web-api

我正在制作一个带有webAPI REST服务的Angular2 SPA,该服务公开了一个EntityFramework模型。

最快捷的方法是在单个控制器操作中加载一个大对象图,并将一大块JSON传递给客户端,然后客户端可以在它移动对象图时将其拆分。

为对象图中的每个对象构建API操作并让JS客户端根据需要逐个绘制图形是否被认为是更好的做法?

零碎的方法需要更多的控制器和动作,相应地,角度服务,即更多的工作!我是否需要抓住荨麻并继续使用它?

2 个答案:

答案 0 :(得分:2)

实际上,这取决于您是在连接方案中还是在断开连接的方案中使用实体框架。关于您的情况,您在断开连接的场景中使用实体框架,这意味着DBContext不会始终附加到对象图,因为您从数据库获取数据,将其发送到客户端然后关闭{ {1}}。对我而言,我建议您为每个contextPOCO划分控制器和操作,因为这将帮助您单独维护和附加每个对象,而不是一次维护整个对象图。当您开始编辑或操作实体时,问题将开始出现,因为在断开连接的场景中,您永远不知道哪个对象已被编辑或删除或添加到大对象图中。但是,您应该将客户端中的每个更改直接维护和操作到服务器以反映该更新。

我不知道这是否能回答您的问题,但是如果您需要任何进一步的解释或代码示例。请告诉我。

答案 1 :(得分:1)

我认为你必须为一个angular2页面级组件做一个后端操作。用户不应该等待额外的数据加载,只能等待此页面上需要的数据。