Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用户';s生成的规范_C#_Linq_Nhibernate_Specifications - Fatal编程技术网

C# 用户';s生成的规范

C# 用户';s生成的规范,c#,linq,nhibernate,specifications,C#,Linq,Nhibernate,Specifications,我想让我的用户创建要在nhibernate.Linq查询中执行的规范 可能吗?我要求用户编写一个查询字符串(我想是HQL),这样它就可以序列化,并且在一个组合框中,用户可以将其应用于当前结果 另一方面,HQL只是一个类似于SQL的字符串,所以它可以工作 但是你必须真正信任你的用户,因为没有什么能阻止他键入“删除最重要的属性,其中1=1”。另一个选项可能是使用LINQ动态查询库(请参阅此处的详细信息:)所以用户指定一个查询,然后你的应用程序执行它?除了限制对某些用户的访问之外,您是否还想实施任何安

我想让我的用户创建要在nhibernate.Linq查询中执行的规范


可能吗?我要求用户编写一个查询字符串(我想是HQL),这样它就可以序列化,并且在一个组合框中,用户可以将其应用于当前结果

另一方面,HQL只是一个类似于SQL的字符串,所以它可以工作


但是你必须真正信任你的用户,因为没有什么能阻止他键入“删除最重要的属性,其中1=1”。

另一个选项可能是使用LINQ动态查询库(请参阅此处的详细信息:)

所以用户指定一个查询,然后你的应用程序执行它?除了限制对某些用户的访问之外,您是否还想实施任何安全限制?是的,确实如此。另一个问题是,用户不知道确切的类属性名称,所以创建查询表达式并不容易。目前,我将使用预编译规范的组合框进行选择。