使用Subsonic 3的存储过程的ExecuteTypedList错误

时间:2011-06-26 06:58:23

标签: asp.net subsonic

在下面的代码块中,我试图从Asp.net执行存储过程。

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. 

1 个答案:

答案 0 :(得分:0)

您为DbData.User生成的代码可能包含存储过程返回的sql_variant字段的错误数据类型。

最有可能的是,您的SubSonic版本中sql_variant数据类型未正确映射(或未显式映射)。在适用于您的版本的源代码中,您可以查看GetDbType方法中sql_variant映射到的内容。