Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/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
Asp.net 无法对nhibernate中的第一个表使用IsLike运算符_Asp.net_Asp.net Mvc_Linq_Nhibernate_Linq To Nhibernate - Fatal编程技术网

Asp.net 无法对nhibernate中的第一个表使用IsLike运算符

Asp.net 无法对nhibernate中的第一个表使用IsLike运算符,asp.net,asp.net-mvc,linq,nhibernate,linq-to-nhibernate,Asp.net,Asp.net Mvc,Linq,Nhibernate,Linq To Nhibernate,一种解决方案是将QueryOver定义分为两部分: MpProviderProfiles = MpProviderProfiles .Where(x => x.ProviderCode.IsLike("%" + ProviderCode + "%")); 注意:赋值query=query.And(…是不需要的。这些方法(Where(),和()将在内部集合中添加限制,但在我的方法中,我返回查询对象。我如何同时返回2个对象?在你的方法中,你不返回查询!这非常重要。你调用List()

一种解决方案是将
QueryOver
定义分为两部分:

MpProviderProfiles = MpProviderProfiles
    .Where(x => x.ProviderCode.IsLike("%" + ProviderCode + "%")); 

注意:赋值
query=query.And(…
是不需要的。这些方法(
Where()
和()将在内部集合中添加限制

,但在我的方法中,我返回查询对象。我如何同时返回2个对象?在你的方法中,你不返回查询!这非常重要。你调用
List()
这意味着立即执行查询。如果您想处理查询,应该按照我的回答将其拆分,然后返回顶部的
query
。您可以稍后添加更多限制,最后调用
List()
。这有意义吗?您已经创建了两个对象。但是我如何才能创建一个对象。我需要Mp_ProviderProfile列表。我最后创建了与您相同数量的对象。但我一直在引用由
QueryOver()生成的第一个查询;
而您没有该引用。我的方法只是将两个查询都保留在不同的变量中。您将返回什么以及在何处调用
List()
取决于您。但是如果您返回
List()
则无法应用更多限制,因为查询已在(!string.IsNullOrEmpty(providercity))时执行{query=query.Where(x=>x.Location.City.IsLike(“%”+providercity+“%”);如何使用相同的}查询位置表
MpProviderProfiles = MpProviderProfiles
    .Where(x => x.ProviderCode.IsLike("%" + ProviderCode + "%")); 
var query = Session.QueryOver<Mp_ProviderProfile>();
var userQuery = query.JoinQueryOver<User>(x => x.AccountInfo);
//  Mp_ProviderProfile
query.Where(x => x.ProviderCode.IsLike("%" + ProviderCode + "%"));

// User
userQuery.And(x => x.UserName.IsLike("%" + customerName + "%"));