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