2

我在应用程序中使用 OrmLite 进行数据访问。在 4 个环境中的 3 个环境中,一切都按预期工作。

所有环境都运行 .net 4.5。数据库运行不同的版本。失败的环境连接到 sql server 10.50.2796,工作环境连接到 sql server 10.50.4000。

System.Data* 程序集的版本在不工作的服务器上是相同的。

堆栈跟踪:

System.NullReferenceException:对象引用未设置为对象的实例。在 C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\Expressions\ReadExtensions.cs:ServiceStack 的第 151 行的 ServiceStack.OrmLite.ReadExtensions.ConvertToList[T](IDataReader dataReader) 的 lambda_method(Closure , Object , Object ) .OrmLite.ReadExtensions.Select[T](IDbCommand dbCmd, Expression 1 predicate) in C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\Expressions\ReadExtensions.cs:line 23 at ServiceStack.OrmLite.ReadConnectionExtensions.Exec[T](IDbConnection dbConn, Func2 filter) in C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\Expressions\ReadConnectionExtensions.cs:line 26

更新 我认为这是与我连接到的 sql server 版本相关的错误。如果我在工作环境中更改连接字符串以使用运行 10.50.2796 的数据库,我会遇到同样的错误。

TIA,杰森

4

1 回答 1

6

此错误发生在数据库中的 b/c 字段包含空值,并且相应的模型字段不可为空。我将尝试更深入地挖掘并向 OrmLite 团队提供一些测试。DB版本是一个红鲱鱼。

于 2013-01-07T18:55:29.740 回答