获取请求必须是简单的成员访问表达式; '[100002]'是一个SubQueryExpression

时间:2012-10-29 14:54:14

标签: linq fluent-nhibernate

我收到以下错误: “获取请求必须是一个简单的成员访问表达式;'[100002]'是一个SubQueryExpression而已。参数名称:relatedObjectSelector”

以下是我的询问:

var query =
    session.Query<Customer().Where(cus => cus.CustomerId == customerId)
    .Fetch(c => c.CustomerType) // Parent CustomerType
    .Fetch(c => c.CustomerOrders) // Child Collection of orders
    .ThenFetch(co => co.Select(it => it.Item)).ToList(); // A parent of CustomerOrder

如果我把'ThenFetch'拿出去,那我就不会得到那个错误。但是,我确实需要检索Item对象。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

您不能只在生成的CustomerOrder上应用选择吗?

var query =
    session.Query<Customer().Where(cus => cus.CustomerId == customerId)
    .Fetch(c => c.CustomerType)
    .Fetch(c => c.CustomerOrder)
    .Select(co => co.Item)
    .ToList();