gpt4 book ai didi

javascript - 在 Breeze 级别使用多少业务逻辑?

转载 作者:行者123 更新时间:2023-11-28 19:27:30 25 4
gpt4 key购买 nike

我最近开始使用 Breeze.js 和 ASP.NET Web API2。我浏览了几个教程、视频等...但无法真正找到以下问题的正确答案。

您应该在 Breeze 级别执行多少业务逻辑处理,以及应该在 API 级别执行多少业务逻辑处理。例如,使用breeze时,API所做的只是返回getall()或getbyID()类型的数据过滤吗?假设我们想通过连接两个表来获取一组记录。通常我们所做的就是在服务器端获取所有这些数据并创建一个 View 模型并将其推送回客户端。但是有了 Breeze ,既然我们可以在客户端管理数据,我们应该这样做吗?

举个例子,您有“员工和部门”表,“员工”表中有 FkDepartmentID,但在客户端您需要“部门名称”。我的问题是是否使用 Breeze 或通过 Web API 本身进行此检索。

最佳答案

假设“业务逻辑处理”指的是数据检索选项,我认为没有一个一刀切的答案。以下是一些使用严格的 Breeze 来检索 UI 工作所需的“形状”数据的用例和方法:

我想显示一个员工实体,包括其部门名称。

考虑使用 single relation expand 加载员工。这将确保部门与员工一起加载,从而可以通过员工.Department.Name 属性访问部门名称。

var query = EntityQuery.from('Employees')
.where('EmployeeId', '==', 22)
.expand('Department');

我想使用表单来编辑员工实体,使用 <select>元素来选择他们的部门。

考虑在不扩展其部门的情况下加载员工。单独加载lookup list部门实体,以便您可以创建选择元素的选项。

我想显示只读的员工列表。

考虑使用 projection query获取具有您需要显示的属性的对象数组。

var query = EntityQuery.from('Employees')
.where('LastName', FilterQueryOp.StartsWith, 'C')
.select('FirstName, LastName, Department.Name')
.orderBy('LastName');

关于javascript - 在 Breeze 级别使用多少业务逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27559845/

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