Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
nHibernate和QueryOver序列化以供Web服务处理_Nhibernate_C# 4.0_Nhibernate Criteria - Fatal编程技术网

nHibernate和QueryOver序列化以供Web服务处理

nHibernate和QueryOver序列化以供Web服务处理,nhibernate,c#-4.0,nhibernate-criteria,Nhibernate,C# 4.0,Nhibernate Criteria,是否可以通过nHibernate生成查询,序列化条件/DetachedCriteria,将其发送到外部服务进行处理,并使结果几乎替换查询版本,或者至少插入查询版本 比如说: return _session .QueryOver<VirtualFolder>() .Where(m => m.Name = "FolderName" & m.Parent = folderParent) .SingleOfDefault(); 将导致查询有效地传

是否可以通过nHibernate生成查询,序列化条件/DetachedCriteria,将其发送到外部服务进行处理,并使结果几乎替换查询版本,或者至少插入查询版本

比如说:

return _session
     .QueryOver<VirtualFolder>()
     .Where(m => m.Name = "FolderName" & m.Parent = folderParent)
     .SingleOfDefault();
将导致查询有效地传递给远程服务

谢谢, 基隆

编辑
我特别要求能够序列化查询,因为我们有一些共享服务。其中一个使用区域可以直接访问数据库,另一个没有。因此,如果能够使用相同的服务,使用不同的QueryOver实现,那就太好了。

@Anton有一个很好的观点。 我建议您创建自己的查询对象并序列化它们。
by Ayende可以让您开始。

这是一个有趣的想法,但我认为它可以解决很多安全问题,此功能允许执行任何查询,并且可能非常危险。这是非常正确的,但这方面通过我们现有的内部服务完全可以实现。