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

发布于 2024-11-17 02:41:24 字数 521 浏览 0 评论 0原文

在下面的代码块中,我尝试从 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. 

In the code block below I am attempting to execute a Stored Procedure from 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>();

The last line of code that tries to load the return data into a typed list produces the following error at runtime. Any ideas what I am doing wrong?

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅笑轻吟梦一曲 2024-11-24 02:41:24

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

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

Your generated code for DbData.User probably has the wrong data type for the sql_variant field being returned by your stored procedure.

Most likely, the sql_variant data type is mapped incorrectly (or not mapped explicitly) in your version of SubSonic. In the source that applies to your version, you could look to see what sql_variant is mapped to in the GetDbType method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文