2

是否有可能得到这样的东西:

return Session.Query<A>().Where(x => x is B).ToList();

其中 B 派生自 A 为接口工作(即获取实现某个接口的所有对象)?谢谢。

4

1 回答 1

1

您不能直接将此语句转换为 SQL。首先,您必须评估查询或使用AsEnumerable().

return Session.Query<A>().AsEnumerable().Where(x => x is B).ToList();

或者:

return Session.Query<A>().AsEnumerable().OfType<B>().ToList();

之后的部分AsEnumerable将在内存中执行。

于 2013-02-05T12:49:26.087 回答