LINQ-to-NHibernate过滤器由复合字段IQueryable - “无法解析属性”错误

时间:2010-07-15 02:48:26

标签: linq-to-nhibernate

快速背景 - 我有一个表单,为用户提供了一些可选选项,并在我的服务上提供了一个搜索方法,它接受所有这些字段并在主IQueryable列表中附加必要的Where()条件。

其中一个过滤器是一个字符串列表,必须与IQueryable中三个不同字段的组合进行比较。这是抛出“无法解析属性”错误的代码:

var searchResults = _transactionHeaders.Retrieve();
if (subgroups.Any())
    searchResults = searchResults.Where(s => subgroups.Contains(s.CustomerType + s.RusNumber + s.GroupNumber));

return searchResults.ToList()

我读过一些帖子,建议需要为NHibernate映射中没有直接映射的任何属性创建别名。我不太确定这是我问题的解决方案。

连连呢?感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

Linq2Nhibernate无法理解.Contains方法调用。您必须更改查询,以便与linq2nhibernate兼容。