2

我们正在考虑创建一个我们的内部应用程序和客户可以使用的 API 应用程序。这对于 CRUD API 查询来说似乎很简单,但我们在处理更复杂的查询时遇到了问题。

例如,假设一个内部应用程序想知道“对于每个公司,计算用户数和仪表板数,并返回结果”,这将如何作为 API 的一部分公开?

我想如果我们对所有公司的列表发出一个查询,然后每个公司触发两个查询来计算用户和仪表板,那么性能就会成为一个问题。

此外,我们如何处理我们目前正在硬编码 SQL 以进行优化的问题?

任何推荐的读物也值得赞赏。

4

1 回答 1

0

我为所有数据库表生成 crud 存储过程,包括所有外键的选择,然后为所有数据库表生成域对象。对我来说,对象映射感觉更易于使用。

如果有特定的数据视图会导致问题或不适合模型。我将使用扩展数据扩展现有域对象。例如:

public class Customer
{
    public int CustomerID{get;set;}
}

public class CustomerListingView:Customer
{
    public int NumberOfOrders{get;set;}
    public int NumberOfSomethingElse{get;set;}
} 

这至少允许您将自定义视图数据转换为需要超类型的控制器函数。

于 2013-04-12T18:16:16.590 回答