是否应该在C#或SQL存储过程中执行详细的数据操作?

是否应该在C#或SQL存储过程中执行详细的数据操作?,c#,sql,stored-procedures,C#,Sql,Stored Procedures,我正在重写一个业务应用程序,它管理、调度和构建非常大的打印作业 条件打印数据非常详细 当前系统是用Visual FoxPro 9和SQL Server 2005编写的。所有的数据操作都是用VFP9.0编写的 打印作业的一个示例将有200000个名称,每个客户都有基于客户端的条件。它们有100多列,将包含变量数据。每个记录都是一个单独的打印插页。每个客户最多可插入20个插件 每个打印作业最多可选择200个客户端 在与C#共事多年后,我对处理大量数据并进行详细操作的能力印象不深 在过去,我会为一个文

我正在重写一个业务应用程序,它管理、调度和构建非常大的打印作业

条件打印数据非常详细

当前系统是用Visual FoxPro 9和SQL Server 2005编写的。所有的数据操作都是用VFP9.0编写的

打印作业的一个示例将有200000个名称,每个客户都有基于客户端的条件。它们有100多列,将包含变量数据。每个记录都是一个单独的打印插页。每个客户最多可插入20个插件

每个打印作业最多可选择200个客户端

在与C#共事多年后,我对处理大量数据并进行详细操作的能力印象不深

在过去,我会为一个文件传递一个带有参数的用户定义表,然后用SQL编写所有数据操作代码,并将结果存储在一个带有作业id的表中。然后让我的c#应用程序根据作业id生成相应的导出文件

**如果您必须构建一个包含超过2000000条记录和每个记录超过100列的工作文件,并编写数周的代码来构建这些记录,那么您是使用集合/实体框架用c#编写代码,还是用SQL存储过程编写代码

我知道人们不喜欢SQL中的游标,但我已经在20多个系统上工作过,这些系统使用逐记录游标循环专门处理SQL存储过程中的数据


感谢您的建议

有多少人将使用您的系统?如果我们谈论的是2、3个人,我会选择SQL,但是如果人数更多,那么选择C#多于SQL(平衡长时间运行的作业客户端)会更明智,一次会有1到2个人运行这个特定的函数。系统的其余部分是相当标准的数据输入、从客户机文件导入、报告。这段代码使用的是c#和实体框架。我会去服务器端,很多数据,几个人,祝你好运!