Subsonic 3 无法识别存储过程输出参数
您好,使用 Subsonic 3.0.0.3,Subsonic 将存储过程参数识别为输出参数时似乎存在一些问题。
在 StoredProcedures.cs 类中,我找到了存储过程定义,但最后一个参数被错误地定义为“AddParameter”。
sp.Command.AddParameter("HasPermission",HasPermission,DbType.Boolean);
当我 sp.Execute() 并尝试读取 sp.Command.OutputValues[0] 的值时,该值为 null。
如果定义被编辑成这样;
sp.Command.AddOutputParameter("HasPermission", DbType.Boolean);
然后返回值并且是正确的值类型
我不确定如何“修复”此问题 - 因为每次我通过“运行自定义工具”重新生成 SP 类时,参数定义都需要编辑。我应该以某种方式编辑 T4 模板吗?
请指教。
编辑:我忘了提及我正在使用 MS SQL 2008 (10.0.2531)
Hi using Subsonic 3.0.0.3 it appears there is some issue with Subsonic identifying Stored Procedure paramters as output parameters.
In the StoredProcedures.cs class I find my stored procedure definition but the last parameter is defined incorrectly as a 'AddParameter'.
sp.Command.AddParameter("HasPermission",HasPermission,DbType.Boolean);
When I sp.Execute() and attempt to read the value of the sp.Command.OutputValues[0] the value is null.
If the definition is edited to be like this;
sp.Command.AddOutputParameter("HasPermission", DbType.Boolean);
Then the value is returned and is correct value type
I am not sure how I 'fix' this - as everytime I regen the SP class via the 'Run Custom Tool' the parameter definitions require editing. Should I edit a T4 template somehow?
Please advise.
EDIT: I forgot to mention I am using MS SQL 2008 (10.0.2531)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
希望亚音速 3.0.0.4 可以解决这个问题,但遗憾的是没有。可以按照此博客条目进行修复; http://brianmrush.wordpress.com/2010/01 /15/subsonic-and-t4-templates/
基本上将其添加到 SQLServer.ttinclude 中;
并将此方法添加到 SQLServer.ttinclude 中;
然后在 StoredProcedure.tt 文件中将第 21 行修改为如下所示;
Was hoping with subsonic 3.0.0.4 this was fixed but sadly no. Fix can be done following this blog entry; http://brianmrush.wordpress.com/2010/01/15/subsonic-and-t4-templates/
Basically add this to SQLServer.ttinclude;
And ad this method to SQLServer.ttinclude;
Then in the StoredProcedure.tt file modify line 21 to look like this;