我正在使用 c# 和 sql server 2008 开发一个应用程序来自动化一个体育俱乐部,我快完成了。 现在我通过在传递一些参数后从 c# 应用程序返回数据的 sql server 中创建存储过程来为我的应用程序制作报告,并且报告的结果如分组,返回的字段数量根据发送的参数而改变。 我的问题是在 sql server 中进行分组并返回最后的结果并将其显示在 c# 报告中,或者获取数据而不进行分组或排序并在 c# 报告中进行你知道在 c# 报告中你可以进行分组并选择要显示的字段分组依据
提前致谢。
最佳答案
这取决于。如果 LINQ 是一个选项(意味着您正在使用 Entity Framework 或不使用存储过程),那么您可以在 C# 代码中以编程方式更改 group by
,同时仍在服务器上执行分组。
如果您不能使用 LINQ/实体模型,但您的 group by
可以动态更改,请在应用程序级别执行分组,这样您就可以根据用户参数对数据进行分组,而无需使用十亿不同的查询选项。
否则,在服务器上执行它,因为这样可以减少带宽消耗,在传输时间方面更快,并且通常更快,因为 SQL(和通用数据库)分组比您在 C# 中执行的操作快得多。
以下是感兴趣的链接:
关于c# - 在服务器或客户端按数据分组更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6710822/