提问者:小点点

对内存数据使用SQL


我有两个(或更多)数据集来自不同数据库和数据仓库的查询。 现在我需要以可配置的方式合并这些数据集(例如JOIN,UNION ALL,聚合函数等),更可取的是用SQL语法描述。 有没有对内存中的数据执行SQL的有效方法? 我已经收集了以下方法,但似乎没有一种是最适合我要做的事情的:

  1. 定义一些可以解决问题并解析问题的专有语言。 这实际上是目前存在的解决方案,但是维护和扩展它是一项大量的工作。
  2. 找到一些在数据集或其他C#数据结构上工作的SQL驱动程序。 我找不到那样的东西。
  3. 使用例如SQLite将数据集写入表(内存中)并在表上运行SQL。 我必须将所有数据放入表中,然后再放回表中,因此这可能不是最有效的解决方案。 另外,我们通常使用TSQL,因此SQLite将引入另一种SQL方言。
  4. 使用SQL Server将数据集写入临时表并对其运行SQL。 更多的铲削,但这一次跨越进程边界,并且使用已经存在的SQL方言。

有人能提供其他途径吗? 或者可能是方法2的特定库?


共1个答案

匿名用户

我建议您看一看C#中的LINQ。 https://dotnettutorials.net/lesson/introduction-to-linq/

对不起,我没有50个名誉评论,所以我张贴作为一个回答