带有Sqlite的iBatis .net导致数组超出范围

时间:2013-01-18 17:00:50

标签: c# sqlite orm ibatis ibatis.net

我正在使用ibatis .net和sqlite for ORM。但是,每当我拨打以下电话时

IList clientList = mapper.QueryForList("ClientFirm.GetClientData", "A");

我收到以下错误:

消息“索引超出了数组的范围。”

这是Stacktrace:

   at IBatisNet.DataMapper.TypeHandlers.CharTypeHandler.GetValueByName(ResultProperty mapping, IDataReader dataReader)
   at IBatisNet.DataMapper.Configuration.ResultMapping.ResultProperty.GetDataBaseValue(IDataReader dataReader)
   at IBatisNet.DataMapper.MappedStatements.PropertyStrategy.DefaultStrategy.Get(RequestScope request, IResultMap resultMap, ResultProperty mapping, Object& target, IDataReader reader)
   at IBatisNet.DataMapper.MappedStatements.PropertyStrategy.DefaultStrategy.Set(RequestScope request, IResultMap resultMap, ResultProperty mapping, Object& target, IDataReader reader, Object keys)
   at IBatisNet.DataMapper.MappedStatements.ResultStrategy.GroupByStrategy.Process(RequestScope request, IDataReader& reader, Object resultObject)
   at IBatisNet.DataMapper.MappedStatements.ResultStrategy.MapStrategy.Process(RequestScope request, IDataReader& reader, Object resultObject)
   at IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForList(RequestScope request, ISqlMapSession session, Object parameterObject, IList resultObject, RowDelegate rowDelegate)
   at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForList(ISqlMapSession session, Object parameterObject)
   at IBatisNet.DataMapper.SqlMapper.QueryForList(String statementName, Object parameterObject)
   at IBatisMapper.getAllClientData() in d:\Users\ae08964\ATNSource\ATN-AttorneyNetwork\trunk\ATN\App_Code\com\ubs\atn\model\admin\IBatisMapper.cs:line 67

如果数据集大约在50到100之间,它可以正常工作,但对于超过100(大约)的任何数据集都会失败。有没有人有想法?

1 个答案:

答案 0 :(得分:0)

想出来......必须对映射对象中声明的Char类型做一些事情。