LINQ-to-Objects с пользовательскими запросами - PullRequest
1 голос
/ 23 июня 2010

Я разрабатываю / поддерживаю инструмент, который позволяет пользователям выполнять запросы к устаревшим файлам данных с записями фиксированной ширины. Файлы преобразуются в табличную структуру с использованием пользовательской спецификации XML.

Я ищу бесплатный инструмент с открытым исходным кодом, который бы автоматически конвертировал SQL-подобные запросы в LINQ.

FLEE (http://flee.codeplex.com/)) может анализировать простые выражения, набранные пользователем, и преобразовывать их в код .NET. Хотя он может выполнить трюк для значений в записи, он не может обрабатывать запросы с агрегатами, «группировать по» пункты или другие общие конструкции.

Я знаю, что мог бы встроить компилятор C # ... Но я ищу что-то более удобное для пользователя, которое может быть использовано непрограммистом с базовыми знаниями SQL.

Этот инструмент используется только для анализа и устранения неполадок. Он не должен работать так же быстро, как настоящая база данных SQL.

1 Ответ

1 голос
/ 23 июня 2010

не уверен, какой синтаксис вы хотите поддерживать, но с точки зрения того, чтобы пользователи вставляли биты запроса в виде строк и преобразовывали их в LINQ, существует пара существующих опций:

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

...