架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10600|回复: 1

[资料] Nhibernate在mono下的一些异常 Argument cannot be null

[复制链接]
发表于 2016-8-4 09:21:33 | 显示全部楼层 |阅读模式
几日前又将一个asp.net的旧项目搬迁至linux下,该项目是基于asp.net 4.0 + Nhibernate + FluentNhibernate实现的,在迁移的过程中碰到一个少见的问题,爬了很多文,包括中文,英文,最后在某日文网站(靠google翻译)上找到答案,可谓相当蛋疼,特些记录
先介绍下,要迁移至的环境是centos6.5 + MONO + Jexus
该情况发生在Nhibernate + mono下,但不是一定会发生,原先我移迁的几个项目里,也有一些是采用Nhibernate的,就没发生这样的问题
初始:
迁移发现如下错误
041704030923466.png
于是,老老实实进web.config修改配置
发现修改后,还是这样的问题,有些苦恼了,仔细追踪,发现下面有提示是Nhibernate OpenSession时出错,看来问题出在这上面
041711082174021.png

这时候试了很多方法,包括重写了一些nhibernate的调用方法,爬了很多文,一直没有找到解决方案,直到最后从某个角落找到了一个解释,抛出该错误的原因还有解释出来,只是翻译看得太累...

发生该错误的原因原来是:

NHibernate.AdoNet.SqlClientSqlCommandSet

用以上测试,找不到SqlCommandSet....

似乎是由于平台的原因造成

目前解决办法

nhibernate:

配置

<property name="adonet.batch_size">0</property>  

FluentNhibernate:

即添加.AdoNetBatchSize(0)



至此问题解决,以上以作记录,也希望能帮遇到同样问题的人少走一些弯路!





上一篇:让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
下一篇:spring.net Could not load type from string value 'xxx...
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2016-8-4 09:23:57 | 显示全部楼层
System.ArgumentNullException: Argument 'Key must not be null' cannot be null


我遇见的是这个错误。

由于,我一开始运行项目的时候,没有启动数据库服务,报了一个错,然后,我启动数据库服务了,

又报这个错误了。

解决办法:

重新生成项目,或者重启iis即可解决。

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-25 15:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表