有谁知道一个不可知的.NET SQL json解析器驱动程序?

时间:2017-01-25 21:51:35

标签: sql .net sql-server json oracle

我目前的工作面临挑战,我希望有人能够帮助我。

基本上,我们有一些用例需要我们将非结构化数据存储在数据库中,但也能够对其执行查询。

问题是,我们所有的其他用例都要求我们使用结构化语言,因此我们的核心平台已经在SQL上大量开发(我们支持SQL Server,Oracle和其他SQL服务器 - 并且,历史上,已经设法通过不使用任何数据库特定的功能(如存储过程或类似的东西,并坚持使用标准SQL)来保持SQL数据库不可知。

无论如何,我们现在需要存储和查询非结构化数据,因此我想到了两件事: - 使用NoSQL数据库 - 或者使用具有json解析功能的SQL数据库,如PostgreSQL,SQL Server或Oracle Server

问题是,我们无法强迫我们的客户安装另一个数据库,而且我也不想限制客户多年来使用的不同SQL兼容数据库服务的数量

说完这一切之后,这是我的实际问题: - 有没有人知道一个不可知的.NET SQL json解析器驱动程序,它允许我透明地将JSON存储在不同的SQL服务上,但是然后给我一个不可知的查询/解析接口,我可以使用它而不必担心底层服务器? / p>

提前致谢!

1 个答案:

答案 0 :(得分:0)

这篇文章描述了如何将EF对象存储为JSON https://www.codeproject.com/Articles/1166099/Entity-Framework-Storing-complex-properties-as-JSO

存储过程是否适合您?理论上,您可以创建具有JSON函数的SQL代码的存储过程,这些函数搜索JSON列,然后从.Net代码中调用它们。每个数据库都有不同的存储过程实现,但您的.Net调用只会调用它们。希望将来,当您查询JSON字段时,EF将支持LINQ转换为SQL。

如果您使用的是SQL Server和Oracle,您甚至可以从.Net代码执行原始SQL查询,因为它们都支持JSON_VALUE函数。