【发布时间】:2009-09-13 02:29:20
【问题描述】:
您好,使用 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)
【问题讨论】:
-
我认为应该处理这个问题,也许在问题跟踪器上提交一张票? github.com/subsonic/SubSonic-3.0/issues 肯定在 T4 模板里。它可能无法正确检测输出参数以生成正确的代码。
-
在 Github 上创建问题; github.com/subsonic/SubSonic-3.0/issues#issue/118
标签: stored-procedures subsonic subsonic3