我有一个这样的查询脚本:
SELECT View1.OrderDate,View1.Email,SUM(View1.TotalPayments) FROM dbo.View1
WHERE (View1.OrderStatus = 'Completed')
GROUP BY View1.OrderDate,View1.Email
HAVING
(SUM(View1.TotalPayments) > 75);
有什么方法可以从SQL查询中提取一些关键信息吗?比如表名和列名,我有2个问题:
- 我确实进行了搜索,我找到了一些解析器,例如 ANTLR ,但我找不到 查找解释此解析器在 C# 语言中的使用的文档。
- 有什么方法可以使用 Entity Frame Work 来解析 sql 查询吗?我的查询是完全动态的,它们是在运行时创建的
最佳答案
我认为最好的答案是使用 Irony 解析器: http://irony.codeplex.com/
Hanselman 有一个关于如何使用它来解析 SQL 的很好的链接: http://www.hanselman.com/blog/TheWeeklySourceCode59AnOpenSourceTreasureIronyNETLanguageImplementationKit.aspx
希望对您有所帮助,祝您好运!
关于c# - 解析SQL查询并提取列名和表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12483173/