<分区>
我注意到有两种方法可以创建对 nhibernate 的通用友好访问。
IQueryOver<T, T> query= session.QueryOver<T>().Where(criteria);
和
IQueryable<T> query= session.Query<T>().Where(criteria);
每个接口(interface)的实现。
IQueryOver<TRoot, TSubType> : IQueryOver<TRoot>, IQueryOver
和
IQueryable<out T> : IEnumerable<T>, IQueryable, IEnumerable
IQueryable 实现 IEnumerable,因此支持您期望的所有 LINQ 友好功能。我倾向于这种实现,但想知道是否有人知道 QueryOver 的目的是什么而您无法使用 Query 实现?