создание тестовой страницы с помощью настраиваемого пользователем запроса linq-to-sql - PullRequest
0 голосов
/ 19 января 2012

Мне нужно показать таблицы базы данных тестеру.На данный момент я жестко запрограммировал запросы, которые показывают данные каждой таблицы: пользователь нажимает на список имен таблиц, а сервер возвращает сетку со всеми данными для этой таблицы.Запросы довольно просты:

var AllTheTable = (from t in MyDataContactTableName
                   select t).ToList();

Я хочу добавить текстовое поле, в котором тестер может вводить пользовательский запрос linq-to-sql во время выполнения.

Как я могу это сделать?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 19 января 2012

Linq не работает как SQL - вам нужно запускать запросы linq-to-sql через компилятор, потому что они в конечном итоге скомпилированы в код C # Почему бы просто не дать своим пользователям возможность выполнять SQL-запрос? Есть много ошибок безопасности в отношении того, что вы спрашиваете в любом случае, но только с SQL они могут только испортить вашу базу данных. С linq-to-sql они могут потенциально поставить под угрозу ваш веб-сервер.

Если это внутренний проект, где безопасность не имеет значения, и вы просто хотите дать тестеру произвольный доступ к вашим данным SQL, попросите их написать SQL.

1 голос
/ 19 января 2012

Мой совет - не изобретать велосипед и не показывать ему LINQPad:)

http://b.roozz.com/apps/61/LINQPad.htm

LINQPad example

...