Linq获取所有实现接口的对象



有可能得到这样的东西吗:

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之后的部分将在内存中执行。

相关内容

  • 没有找到相关文章

最新更新