I am developing / maintaining a tool that allows users to run queries against legacy data files with fixed-width records. The files get converted to a table-like structure using a custom XML specification.
I’m looking for a free/open-source tool that would automatically convert SQL-like queries to LINQ.
FLEE (http://flee.codeplex.com/) can parse simple expressions typed by the user and convert them to .NET code. While it can do the trick for values within a record, it cannot process queries with aggregates, “group by” clauses or other common constructs.
I know I could embed a C# compiler… But I’m looking for something more user-friendly that can be used by a non-programmer with a basic knowledge of SQL.
This tool is only used for analysis and troubleshooting. It doesn’t need to run as fast as a real SQL database.
not sure what syntax you want to support, but in terms of having users put in query bits as strings and converting them into LINQ, there’s a couple of existing options out there:
http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx
http://www.albahari.com/nutshell/linqkit.aspx