用NHibernate写了个小留言本,所有操作都正常
但不知怎么IQuery都出现错误
ISession session = SessionUtil.OpenSession();
IQuery q = session.CreateQuery("from GuestBook gb order by gb.Id desc ");
IList list = q.List();
session.Close();
上面代码老是提示错误,我没有感觉那里错误呀错误信息:
in expected: gb [from GuestBook gb order by gb.Id desc ]
异常详细信息: NHibernate.QueryException: in expected: gb [from GuestBook gb order by gb.Id desc ]
堆栈跟踪: [QueryException: in expected: gb [from GuestBook gb order by gb.Id desc ]]
NHibernate.Hql.FromParser.Token(String token, QueryTranslator q) +1761
NHibernate.Hql.ClauseParser.Token(String token, QueryTranslator q) +1139
NHibernate.Hql.PreprocessingParser.Token(String token, QueryTranslator q) +652
NHibernate.Hql.ParserHelper.Parse(IParser p, String text, String seperators, QueryTranslator q) +173
NHibernate.Hql.QueryTranslator.Compile() +174
NHibernate.Hql.QueryTranslator.Compile(ISessionFactoryImplementor factory, IDictionary replacements, Boolean scalar) +67
NHibernate.Impl.SessionFactoryImpl.GetQuery(String queryString, Boolean shallow) +138
NHibernate.Impl.SessionImpl.GetQueries(String query, Boolean scalar) +22
NHibernate.Impl.SessionImpl.Find(String query, QueryParameters parameters) +167
NHibernate.Impl.QueryImpl.List() +94
GuestBook.Web.Default.BindData() in d:\programdotnet\nhibernate\guestbook\guestbook.web\default.aspx.cs:76
GuestBook.Web.Default.Page_Load(Object sender, EventArgs e) in d:\programdotnet\nhibernate\guestbook\guestbook.web\default.aspx.cs:40
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750但这样可以
ISession session = SessionUtil.OpenSession();
NHibernate.ICriteria crit = session.CreateCriteria(typeof(GuestBook.Domain.Guestbook));
IList list = crit.List();
session.Close();
请各位指点
另外请问怎么查看NHibernate动态生成的SQL语句呢??
但不知怎么IQuery都出现错误
ISession session = SessionUtil.OpenSession();
IQuery q = session.CreateQuery("from GuestBook gb order by gb.Id desc ");
IList list = q.List();
session.Close();
上面代码老是提示错误,我没有感觉那里错误呀错误信息:
in expected: gb [from GuestBook gb order by gb.Id desc ]
异常详细信息: NHibernate.QueryException: in expected: gb [from GuestBook gb order by gb.Id desc ]
堆栈跟踪: [QueryException: in expected: gb [from GuestBook gb order by gb.Id desc ]]
NHibernate.Hql.FromParser.Token(String token, QueryTranslator q) +1761
NHibernate.Hql.ClauseParser.Token(String token, QueryTranslator q) +1139
NHibernate.Hql.PreprocessingParser.Token(String token, QueryTranslator q) +652
NHibernate.Hql.ParserHelper.Parse(IParser p, String text, String seperators, QueryTranslator q) +173
NHibernate.Hql.QueryTranslator.Compile() +174
NHibernate.Hql.QueryTranslator.Compile(ISessionFactoryImplementor factory, IDictionary replacements, Boolean scalar) +67
NHibernate.Impl.SessionFactoryImpl.GetQuery(String queryString, Boolean shallow) +138
NHibernate.Impl.SessionImpl.GetQueries(String query, Boolean scalar) +22
NHibernate.Impl.SessionImpl.Find(String query, QueryParameters parameters) +167
NHibernate.Impl.QueryImpl.List() +94
GuestBook.Web.Default.BindData() in d:\programdotnet\nhibernate\guestbook\guestbook.web\default.aspx.cs:76
GuestBook.Web.Default.Page_Load(Object sender, EventArgs e) in d:\programdotnet\nhibernate\guestbook\guestbook.web\default.aspx.cs:40
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750但这样可以
ISession session = SessionUtil.OpenSession();
NHibernate.ICriteria crit = session.CreateCriteria(typeof(GuestBook.Domain.Guestbook));
IList list = crit.List();
session.Close();
请各位指点
另外请问怎么查看NHibernate动态生成的SQL语句呢??
解决方案 »
- delete * from eq_param a,equip_info b where b a.mt_id=b.id 错了吗
- GridView中CheckBox的问题!!搞了大半天,高手帮帮忙吧!
- 请教一个复杂的Sql语句!
- log4net怎么用呀?
- ewebshop的产品分类管理页怎样实现的呢?
- 一个关于批量update的问题.请高手来帮我看看..对datagrid中数据进行批量更新的问题
- (十万火急) c# DialogShow 失效了
- ASP问题
- gridview.Columns.RemoveAt后的问题
- 各位大侠:我是用校园网上网的,请问怎么设置才能用QQ啊。谢谢了!
- 怎样加密,然后加密的字符串解密?简单的算法即可。最好有代码。
- 怎么给项目改名
------------
要配置log4net的.(具体o也不清楚,NHibernate文档中有说明的)
IQuery q = session.CreateQuery("from GuestBook order by Id desc ");
这样应该是不行的
先试试如下行不行:
using System.Collections;
using NHibernate;
using NHibernate.Expression;
using 你的实体类程序集;不行的话在session里加上返回类型typeof(GuestBook)
还不行的话看看你那版本NHibernate代码目录下readme文件看看该release中支持hql中order与否,需不需要加using(new sessionscope()){}控制资源。还有问题发社区短信给我。
已给你发社区短信
请查收,谢谢
我来调试
这样试试,我现在用的还是0.7版的,不太清楚新版本的hql有些什么改进的地方。
我的Gmail这几天老登陆不了,今天才下下来你的DEMO代码看了一下,写法什么都是对的,唯一的问题是有个小错误,你的实体类是小写的,大写的是基类,改一下就行了。IQuery q = session.CreateQuery("from GuestBook order by Id desc ");
---------------------------------------------------------------------改为
IQuery q = session.CreateQuery("from Guestbook order by Id desc ");给我的代码已经调试通过了,但就这点小改动没必要再发回去,其他有问题再联系。
IQuery q = session.CreateQuery("from Guestbook gb order by gb.Id desc ");
copy错了。
谢谢 zeusvenus(清柳)
问题zeusvenus已帮我解决