至少可以说我是NHibernate的新手。
我正在使用NHibernate 3.1,我正在尝试使用通用会话Query方法实现通用存储库。但是,我在Visual Studio IDE Intellisense中看不到它。我只能看到QueryOver - 我不确定它是否意味着要替换Query方法。如果是这样,他们为什么不离开Query但是有一条消息表明它已按照惯例弃用?
请有人帮忙 - 我会永远感激。
非常感谢S.O.F社区。 p>
答案 0 :(得分:13)
它没有被弃用。他们是不同的东西。 session.Query<T>()
允许您使用LINQ提供程序,而QueryOver
是一个不同的API,也是基于表达式的,但实际上更类似于Criteria API。
正如您已经想到的那样,您需要打开NHibernate.Linq命名空间以使用LINQ提供程序。