nhibernate搭配access的问题

nhibernate搭配access的问题

ID:8847933

大小:50.50 KB

页数:8页

时间:2018-04-09

nhibernate搭配access的问题_第1页
nhibernate搭配access的问题_第2页
nhibernate搭配access的问题_第3页
nhibernate搭配access的问题_第4页
nhibernate搭配access的问题_第5页
nhibernate搭配access的问题_第6页
nhibernate搭配access的问题_第7页
nhibernate搭配access的问题_第8页
资源描述:

《nhibernate搭配access的问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、NHibernate搭配Access的问题近日想学习一下NHibernate,以用在最新的一套大型系统上。想想不如先做一个小网站来练练手,不过之前还是得先看看NHibernate的使用方法。搜索了几篇入门文章,包括官方网站的FirstStep,然后就开始写了。本想使用Access数据库,结果是一直失败,一开始是连Configuration都无法生成,后来又是写入数据库错误。后来改成使用Sqlserver2000,结果很顺序的就通过了。再改成Access,又没有了头绪。最后经历了千辛万苦啊,终于算是通过了。总结

2、如下:使用Access数据库的组件在官方下载的NHibernate-contrib文件里,有个NHibernate.JetDriver.dll,这个文件也是必须的。其实,在app.config文件里加入NHibernate属性的语句是:

3、ler,System,Version=1.0.5000.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"/>

4、r.JetDialect,NHibernate.JetDriver"/>

5、ibernate>那个dialect和driver_class的值里面前面是类名称,后面是命名空间名称,中间用逗号分开,不可缺少。以前查到的一些资料里都没有这一步,所以一直失败。最后还有一个问题,用户表里面的LastLogon是个日期时间字段,类里面字段的属性也设成日期时间,插入的时候报错,把类里面的字段改成string就可以了,可能是因为插入的时候没有加引号的问题。还有密码字段如果字段名为Password,同样插入出错,这个应该是字段名跟关键字冲突的问题,看来作者没有考虑到把

6、字段名括起来的问题。但是我一直没有办法显示出最终要执行的sql语句,所以也一直没有办法确定错误原因。不过有了以上内容,应该足够写完整个程序了。测试了一下性能,点击按钮到返回,要2秒多,明显有点慢,做了一个10000个新数据,然后一次写入,用了20秒才写完,有点不可接受了。回头试一下直接用OleDb写入的速度比较一下吧。  对于昨天的问题,继续研究了一下。经过一阵搜索,受到了另一位仁兄的启发。现在的速度慢,跟多一次DLL调用应该也有不小的关系,为什么不把NHibernate.JetDriver合并进主模块呢?打

7、开NHibernate的源代码,试着编译了一下,报错,说是签名失败,缺少一个sn文件。后来找到这个文件是需要自己生成的,使用VS自带的一个工具sn.exe-kNHibernate.snx就可以了,把这个文件放到src目录下,编译通过。在NHibernate的项目里添加目录JetDriver,然后把NHibernate-Contrib里面的10目录里面的源代码一个个添加进来,编译,通过了。试着调用一下,用昨天那个程序,重新添加引用,成功了,减少了一个DLL文件。顺便研究了一下JetDriver的源代码,在Jet

8、Dialect.cs文件里找到了一段:publicoverridecharCloseQuote{get{return'';}}初步以为这个应该是自动添加在字段名上的修饰,于是把中间改成中括号,结果失败,查看了一下NHibernate输出的SQL,没有起作用,放弃。在JetDbCommand.cs文件里找到一段CheckParameters,如果字段属性是日期时间字段,那么会自动转换成字符串。既然如此

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。