亚音速,设置useSPs =“true”似乎不起作用。没有生成SP

时间:2010-07-15 08:37:14

标签: subsonic

我正在使用亚音速,我对此很合理。 今天是我第一次需要使用存储过程。

webconfig中的我的提供者行如下:

我使用两个指向两个不同数据库的提供程序,而另一个不调用SP。

当我生成时,我得到所有表和类存储过程但是它是空的! 所以当我做SP时。 ...在代码中没有要显示的类。

有谁知道这里发生了什么?

更新:

如果我在其他提供商处设置UseSps =“True”..它确实有用吗?

数据库位于完全不同的服务器上..

贝克斯

2 个答案:

答案 0 :(得分:0)

我假设您使用的是2.X版的亚音速,而不是3?

如果是这样,你需要告诉你的配置生成存储过程,如下所示:

 <SubSonicService defaultProvider="blah">
        <providers>
            <clear />
            <add 
 ...
 includeProcedureList="proc1,proc2"

如果您使用的是版本3,则只需运行存储过程的T4模板。

答案 1 :(得分:0)

对于任何有这个问题的人来说都是正确的.. 我知道是什么导致了它(在我的情况下无论如何)..将需要核心代码重写来修复..

如果你去here,它会显示生成Sps的来源。 转到第1745行

如果我在SQL Server中运行此过程,我会收到此错误:

Cannot sort a row of size 8098, which is greater than the allowable maximum of 8094.

因为我使用的数据库中的存储过程非常庞大,所以当它排序时它们对于行来说太长了。 在核心代码中删除顺序将修复该错误,但我不知道是否需要它?

我将把它作为一个问题提交。