C# 对内存中的数据使用SQL
我有两个(或更多)来自不同数据库和数据仓库的查询的数据集。现在,我需要以可配置的方式合并这些数据集(例如,JOIN、UNION ALL、aggregate函数等),最好用SQL语法描述。 是否有一种对内存中的数据执行SQL的有效方法?我已经收集了以下方法,但似乎没有一种适合我所尝试的方法:C# 对内存中的数据使用SQL,c#,sql,dataset,C#,Sql,Dataset,我有两个(或更多)来自不同数据库和数据仓库的查询的数据集。现在,我需要以可配置的方式合并这些数据集(例如,JOIN、UNION ALL、aggregate函数等),最好用SQL语法描述。 是否有一种对内存中的数据执行SQL的有效方法?我已经收集了以下方法,但似乎没有一种适合我所尝试的方法: 定义一些可以解决问题并解析它的专有语言。这实际上是当前存在的解决方案,但是维护和扩展它需要大量的工作 查找一些在数据集或其他C#数据结构上工作的SQL驱动程序。我找不到那样的东西 例如,使用SQLite将数据
有人能提供其他方法吗?或者方法2的特定库 我不知道有什么好的解决办法,对不起
DataTable
对过滤和排序等功能的支持非常有限,但您不会调用真正的SQL。合并后,您需要如何处理数据,因为您可以在目标中合并数据。@MarcGravel正如您所说,这些功能与真正的SQL并不接近。我认为加入根本不可能。@D.J.我正在一个报告后端工作。它实际上已经在使用,并且有大约150个不同的报告,这些报告是以XML格式定义的,并且可以执行和提供服务。我们的目标是在没有任何特别实施的情况下,尽可能多地提供我们报告的报告。可以在目的地/使用者上对数据进行后处理,但这意味着每个报表都要进行实现,并且在两个(或更多)位置上使用报表逻辑,而不是一个。然后,我认为您必须使用选项4,使用sqlbulkcopy以更快的方式将数据导入sql server表。然后你可以根据报告查询数据进行操作和过滤DataTable
对过滤和排序等功能的支持非常有限,但您不会调用真正的SQL。合并后,您需要如何处理数据,因为您可以在目标中合并数据。@MarcGravel正如您所说,这些功能与真正的SQL并不接近。我认为加入根本不可能。@D.J.我正在一个报告后端工作。它实际上已经在使用,并且有大约150个不同的报告,这些报告是以XML格式定义的,并且可以执行和提供服务。我们的目标是在没有任何特别实施的情况下,尽可能多地提供我们报告的报告。可以在目的地/使用者上对数据进行后处理,但这意味着每个报表都要进行实现,并且在两个(或更多)位置上使用报表逻辑,而不是一个。然后,我认为您必须使用选项4,使用sqlbulkcopy以更快的方式将数据导入sql server表。然后,您可以查询数据,以便根据报告进行操作和过滤。