c# - 对内存数据使用 SQL
问题描述
我有两个(或更多)数据集来自不同数据库和数据仓库的查询。现在我需要以可配置的方式合并这些数据集(例如 JOIN、UNION ALL、聚合函数等),最好用 SQL 语法描述。有没有一种对内存数据执行 SQL 的有效方法?我已经收集了以下方法,但似乎没有一个最适合我正在尝试做的事情:
- 定义一些可以解决问题并解析它的专有语言。这实际上是目前已有的解决方案,但是维护和扩展它是很多工作。
- 查找一些适用于 DataSet 或其他 C# 数据结构的 SQL 驱动程序。我找不到类似的东西。
- 使用例如 SQLite 将数据集写入表(内存中)并在它们上运行 SQL。不过,我必须将所有数据铲入表中,然后再返回,因此它可能不是最有效的解决方案。另外,我们通常使用 TSQL,所以 SQLite 会引入另一种 SQL 方言。
- 使用 SQL Server 将数据集写入临时表并在其上运行 SQL。更多的铲子,但这次跨越进程边界并使用已经存在的 SQL 方言。
谁能提供其他方法?或者可能是方法 2 的特定库?
解决方案
推荐阅读
- azure - iOS xamarin - 在应用内购买时首次启动时崩溃
- sqlite - 将数据从 Oracle (SQL Developer) 移动到 MS SQL Server 的有效方法
- html - 关于 create-react-app 的初学者问题:先完成 HTML/CSS,然后添加到应用程序
- r - 在 for 循环期间设置数据帧的子集时,我得到一个零行数据帧而不是预期的一行?
- authentication - 具有动态客户端注册的 OAuth2 资源所有者密码凭证
- python - 使用 xml 作为数据发布请求给出错误 415
- angular - 登录后导航到选项卡时如何修复“错误:无法匹配任何路由”?
- css - :focus-within 聚焦第一个孩子而不是最后一个孩子
- sql - 有没有办法在 Access SQL 查询中有条件地求和日期范围?
- python - 努力让图像出现在我基于 Tkinter 的程序的其他元素后面