Пользовательские спецификации - PullRequest
0 голосов
/ 08 июля 2010

Я хочу позволить моим пользователям создавать спецификации для выполнения в запросе nhibernate.Linq.

Возможно ли это? Я прошу пользователя написать строку запроса (я полагаю, HQL), чтобы она была сериализуемой, и в поле со списком пользователь мог применить ее к текущим результатам

Ответы [ 2 ]

1 голос
/ 08 июля 2010

Выражения Linq не сериализуются.

С другой стороны, HQL - это просто строка, похожая на SQL, поэтому она будет работать.

Но вы должны по-настоящему доверять своему пользователю, поскольку ничто не мешает ему набрать "DELETE TheMostImportantEntity WHERE 1 = 1".

0 голосов
/ 09 июля 2010

Еще одним вариантом может быть использование библиотеки динамических запросов LINQ (подробности см. Здесь: http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx)

...