2011-06-26 24 views
1

在下面的代碼塊中,我試圖從Asp.net執行存儲過程。存儲過程使用Subsonic 3的ExecuteTypedList錯誤

StoredProcedure sp = new StoredProcedure("GetIDsWithinRadius"); 
sp.Command.AddParameter("ZipCode", 03461); 
sp.Command.AddParameter("GivenMileRadius", 4); 
List<DbData.User> users = sp.ExecuteTypedList<DbData.User>(); 

試圖將返回數據加載到類型列表中的最後一行代碼在運行時會產生以下錯誤。任何想法我做錯了什麼?

Server Error in '/' Application. 
Implicit conversion from data type sql_variant to char is not allowed. 
Use the CONVERT function to run this query. 

回答

0

你生成DbData.User代碼可能有對sql_variant場錯誤的數據類型被你的存儲過程返回。

很可能,sql_variant數據類型在您的SubSonic版本中映射不正確(或未明確映射)。在適用於您的版本的源代碼中,您可以查看GetDbType方法中sql_variant映射到的內容。