Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有任何框架可以将类似SQL的查询解析为其组件?_Sql_Text Parsing - Fatal编程技术网

是否有任何框架可以将类似SQL的查询解析为其组件?

是否有任何框架可以将类似SQL的查询解析为其组件?,sql,text-parsing,Sql,Text Parsing,我对为我使用的CMS编写类似SQL的查询语法感兴趣。这个想法是CMS查询可以用SQL-ish语法编写,我会将其转换为通过CMSAPI执行 没有字段或表格选择,因此我需要一些方法来获得: SELECT WHERE Something = 'something' AND (SomethingElse != 'something' OR AnotherThing == 'something') 从本质上讲,我需要一些方法来根据WHERE子句的括号和/或正确地对它们进行分组 是否有这样做的框架?什么时

我对为我使用的CMS编写类似SQL的查询语法感兴趣。这个想法是CMS查询可以用SQL-ish语法编写,我会将其转换为通过CMSAPI执行

没有字段或表格选择,因此我需要一些方法来获得:

SELECT WHERE Something = 'something' AND (SomethingElse != 'something' OR AnotherThing == 'something')
从本质上讲,我需要一些方法来根据WHERE子句的括号和/或正确地对它们进行分组


是否有这样做的框架?什么时候完成的一些例子?我不想在这里重新发明轮子,我知道过去一定有其他人做过这件事。

答案是肯定的,有许多框架可以模拟SQL并转换为SQL。Linq和各种Linq翻译器就是一个很好的例子。确切地知道您使用的是哪种CMS,以及您使用的是哪种语言和平台,这将很有帮助。一些支持代码查询的.NET ORM包括:

NHibernate-允许在字符串中使用称为HQL的SQL语言,或使用表达式列表和Linq进行更多基于代码的查询构造

Linq2SQL—即将推出,但对于更简单的应用程序,它应该可以。该框架生成表和域对象之间映射的DAO类,您可以使用编码的Linq查询来处理这些类,非常类似于实际的表


当然,您也可以使用好的标准ADO.NET和字符串SQL查询。这有许多缺点,但是如果您想在代码中包含查询,为什么不将它们变成真正的SQL呢?如果要隐藏表结构,可以在提交查询之前转换表名,这样web层中包含的SQL(抖动)就不会在数据库中运行。

然后我会;这个网站是关于帮助的,而不是你的自我。这是什么语言?许多语言都有类似的功能……但问题是——我不会转换成SQL。我正在将我的“SQL-ish”语法转换为一系列API调用。