关于SubSonic3.0插件使用SqlQuery或Select查询时产生的System.NullReferenceException异常修复

简介:

 早上在编写执行用例时,突然爆异常System.NullReferenceException: 未将对象引用设置到对象的实例

  执行代码:

  

  

未将对象引用设置到对象的实例。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误: 

行 168:            foreach(Constraint constrain in c)
行 169:            {
行 170:                IColumn column = _provider.FindTable(typeof(T).Name).GetColumnByPropertyName(constrain.ColumnName);
行 171:                constrain.ColumnName = column.Name;
行 172:                constrain.ConstructionFragment = column.Name;


源文件: E:\Asp.net\******\SubSonic.Core\Query\SqlQuery.cs    行: 170 

堆栈跟踪: 

[NullReferenceException: 未将对象引用设置到对象的实例。]
   SubSonic.Query.SqlQuery.Where(Expression`1 expression) in E:\Asp.net\******\SubSonic.Core\Query\SqlQuery.cs:170
   SubSonicTest.Test.Page_Load(Object sender, EventArgs e) in E:\Asp.net\******\SubSonicTest\Test.aspx.cs:19
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
   System.Web.UI.Control.OnLoad(EventArgs e) +92
   System.Web.UI.Control.LoadRecursive() +54
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772

  

  通过Debug追踪后,发现SqlQuery类的条件添加函数中,在执行通过反射获取泛型类后,查找条件列名并为条件列赋值时,由于没有找到该列而产生的异常

  对此进行相应修改,添加判断,为null时创建泛型对应的表实体,修改如下:

  

  

  View Code

 

  

  添加完以上代码后,将SubSonic3.0插件源码重新生成一下就可以正常使用了。




    本文转自 AllEmpty 博客园博客,原文链接:

http://www.cnblogs.com/EmptyFS/p/3668121.html

,如需转载请自行联系原作者


相关文章
|
4月前
|
监控 关系型数据库 MySQL
【YashanDB知识库】update (子查询) set ORG_ID_STAN -ID 改写
【YashanDB知识库】update (子查询) set ORG_ID_STAN -ID 改写
|
SQL 关系型数据库 MySQL
解决Mysql5.7以上版本, 使用group by抛出Expression #1 of SELECT list is not in GROUP BY clause and contains no异常
解决Mysql5.7以上版本, 使用group by抛出Expression #1 of SELECT list is not in GROUP BY clause and contains no异常
169 0
|
XML SQL Java
如何去寻找解决bug?(以Mapped Statements collection does not contain value for xxx的异常为例)
如何去寻找解决bug?(以Mapped Statements collection does not contain value for xxx的异常为例)
如何去寻找解决bug?(以Mapped Statements collection does not contain value for xxx的异常为例)
|
SQL 存储 Java
关于PageHelper何时执行select count(0) from xxx查询?(结论+源码Debug分析)
关于PageHelper何时执行select count(0) from xxx查询?(结论+源码Debug分析)
关于PageHelper何时执行select count(0) from xxx查询?(结论+源码Debug分析)
|
程序员 Android开发 iOS开发
iOS开发:Xcode报错“Could not insert new outlet connection:Could not find any...”问题的解决方法
在iOS开发过程中会遇到各种各样的问题,有些时候会遇到一些莫名其妙的报错问题,而且会觉得很无厘头,尤其是苹果的Xcode会出现各种不可抗拒的情况,网速不好会影响Xcode的正常使用,时间长不打开Xcode也会出现问题,一般这种情况下果断关闭Xcode再重新打就好了,那么本篇博文就来分享一下需要关闭Xcode再重新打开就好的情况,一般情况下在没有错误操作的时候还会出现这种错误就一定是Xcode的问题,那么接下来就来说说这种情况。
264 0
开发指南—DAL语句—DDL管理语句—SHOW DDL RESULT
可以通过SHOW DDL RESULT命令查看近期执行过的DDL任务的结果
119 0