为什么这样做:
var ret = Session.Query<ListingEvent>()
.TransformWith<ListingEventProfileTransformer, ListingEventDto>()
.ToList();
var ret2 = ret.Where(x => x.EventInstance.Slug == slug);
return ret2;
但这不是:
var ret = Session.Query<ListingEvent>()
.TransformWith<ListingEventProfileTransformer, ListingEventDto>()
.Where(x => x.EventInstance.Slug == slug);
return ret;
显然第一个不好,因为它需要在添加谓词之前枚举集合。
当然他们都应该工作?!
答案 0 :(得分:0)
第二个查询仍处于IQueryable状态,因此在强制结果返回之前不执行任何操作。试试这个:
var ret = Session.Query<ListingEvent>()
.TransformWith<ListingEventProfileTransformer, ListingEventDto>()
.Where(x => x.EventInstance.Slug == slug)
.ToList(); // Force the results to come back
return ret;