有可能得到这样的东西吗:
return Session.Query<A>().Where(x => x is B).ToList();
其中B从为接口工作的A派生(即获取实现某个接口的所有对象)?谢谢
您不能直接将此语句转换为SQL。首先,您必须评估查询或使用AsEnumerable()
。
return Session.Query<A>().AsEnumerable().Where(x => x is B).ToList();
或者:
return Session.Query<A>().AsEnumerable().OfType<B>().ToList();
AsEnumerable
之后的部分将在内存中执行。