在C#中解析SQL代码

此问题不符合堆栈溢出准则。它当前不接受答案。


更新问题,使其成为Stack Overflow

的主题。

5年前关闭。

我想使用C#解析SQL代码。

具体来说,是否有任何免费的解析器可以解析SQL代码并从中生成树或任何其他结构?它还应为嵌套结构生成适当的树。

它还应该返回该树的节点代表哪种语句。

例如,如果节点包含循环条件,则它应返回这是节点的“循环类型”。

还是有什么方法可以解析C#中的代码并生成想要的类型的树?

回答:

使用Microsoft 实体框架(EF)。

它具有一个“ Entity SQL”解析器,该解析器可构建表达式树,

using System.Data.EntityClient;

...

EntityConnection conn = new EntityConnection(myContext.Connection.ConnectionString);

conn.Open();

EntityCommand cmd = conn.CreateCommand();

cmd.CommandText = @"Select t.MyValue From MyEntities.MyTable As t";

var queryExpression = cmd.Expression;

....

conn.Close();

或类似的东西,请在MSDN上查看。

这一切都在鲍尔默斯上打勾:-)

The Code Project上还有一个 SQL

Parser

祝好运。

以上是 在C#中解析SQL代码 的全部内容, 来源链接: utcz.com/qa/429473.html

回到顶部