2013-01-06 27 views
2

我在應用程序中使用OrmLite進行數據訪問。在四種環境中的三種環境中,一切都按預期工作。ConvertToList(ServiceStack OrmLite)中的NullReference異常

所有環境都運行.net 4.5。數據庫運行不同的版本。失敗的環境連接到SQL Server 10.50.2796,工作環境連接到SQL Server 10.50.4000。

System.Data *程序集的版本與不工作的服務器上的版本相同。

堆棧跟蹤:

System.NullReferenceException:對象不設置爲一個對象的一個​​實例。 在 Çlambda_method(封閉,對象,對象) 在ServiceStack.OrmLite.ReadExtensions.ConvertToList [T](IDataReader的DataReader的):\ SRC \ ServiceStack.OrmLite \ SRC \ ServiceStack.OrmLite \表達式\ ReadExtensions.cs:線151 在ServiceStack.OrmLite.ReadExtensions.Select [T](IDbCommand的dbCmd,表達1 predicate) in C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\Expressions\ReadExtensions.cs:line 23 at ServiceStack.OrmLite.ReadConnectionExtensions.Exec[T](IDbConnection dbConn, Func 2濾波器)在C:\ SRC \ ServiceStack.OrmLite \ SRC \ ServiceStack.OrmLite \表達式\ ReadConnectionExtensions.cs:線26

UPDATE 我認爲這是一個與我連接的sql server版本相關的錯誤。如果我在工作環境中更改連接字符串以使用運行10.50.2796的數據庫,則會遇到同樣的錯誤。

TIA, 傑森

回答

6

此錯誤發生B/C字段在數據庫中包含空值,和對應的模型字段不爲空。我會盡量深入挖掘,併爲OrmLite團隊提供一些測試。 DB版本是一個紅鯡魚。