NHibernate2.0升级到3.0遇到的问题
来源:互联网 发布:淘宝拍下立减 编辑:程序博客网 时间:2024/06/04 00:24
今天将NHibernate升级到3.0后出现几个问题,解决它们颇费了一番功夫
问题1:升级后 ISessionFactoryImplementor 没有了OpenConnection方法,编译不通过
public static DataSet ExecuteSQlQuery(string sSql) { ISessionFactoryImplementor factory = (ISessionFactoryImplementor)DBSessions.Factory; SqlCommand cmd = new SqlCommand(); cmd.CommandText = sSql; cmd.CommandType = System.Data.CommandType.Text; SqlConnection conn = (SqlConnection)factory.OpenConnection(); cmd.Connection = conn; SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); return ds; }
解决的方法为,将factory.OpenConnection(); 改成 factory.OpenSession().Connection; 即可
也就是,如果需要使用ado.net connection 可以直接使用ISession实例的Connection属性,类型为IDbConnection
问题2:查询时出现Antlr.Runtime.NoViableAltException异常
下面代码执行时总是报 Antlr.Runtime.NoViableAltException
ISession session = DBSessions.GetSession(); string query="From Member Where id=1 "; IList lst = session.CreateQuery(query); 【Member 类对应的表 BS_Members表】
找了很多资料,都说是HQL语法错误,但是上面的语句够简单了,怎么看也不像语法错误,况且别的表同样的调用方法都不会报错,
试过多种可能的方法,折腾的不轻,最后试着将Member类换个名字,比如Members,重新编译,查询,解决!!!
非常奇怪,NHibernate3.0竟让在HQL中拒绝 名称为Member的类,不管怎样总算解决了。
- NHibernate2.0升级到3.0遇到的问题
- NHibernate2.0的变化
- 升级Android Studio到3.0遇到的一些问题
- Android studio 升级到3.0时项目遇到的问题
- resin3.0升级到3.1版本遇到的问题
- struts2.0升级到struts2.1.6遇到的问题汇总
- ReportMachine3.0升级到6.5遇到的问题
- 升级到Android Studio3.0遇到的问题
- vs2003升级到vs2005遇到的问题
- xcode升级到4.5遇到的问题
- 升级到Xcode8遇到的问题
- OpenSSH升级到7.0+遇到的问题
- 升级到MySQL 5.0.17一定遇到的四个问题
- 升级到MySQL 5.0.17一定遇到的四个问题
- 升级到MySQL 5.0.17一定遇到的四个问题
- 升级到MySQL 5.0.17一定遇到的四个问题
- 升级到MySQL 5.0.17一定遇到的四个问题
- 升级到MySQL 5.0.17一定遇到的四个问题
- ubuntu vim 设置
- Qt 3
- 在操作系统下中断的执行过程(软件 操作系统)
- Asp.net MVC 3实例学习之ExtShop(三)——完成首页
- PPT文件如何大幅度瘦身、减小所占空间、提高播放速度?
- NHibernate2.0升级到3.0遇到的问题
- Qt系列软件包 (搞不清Qtopia Core,Qt Extended,Qt-embedded.....的过来看看)
- 技术解析:什么是模式? 什么是框架?
- VC 打开文件对话框
- Android开发环境配置
- CListCtrl 操作集合
- java日期操作,这个文章挺不错
- Android小例子
- 经典语录