Subsônico, definir useSPs=“true” não parece funcionar.SPs não estão sendo gerados
-
16-09-2020 - |
Pergunta
Estou usando subsônico, sou razoavelmente novo nisso.Hoje é a primeira vez que preciso usar procedimentos armazenados com ele.
Minha linha de provedor no webconfig é a seguinte:
Estou usando dois provedores apontando para dois bancos de dados diferentes, onde o outro não está ligando para os SPs.
Quando eu gero, estou recebendo todas as tabelas e os procedimentos armazenados da classe, mas está vazio!Então, quando eu faço SPs....no código não há classes para exibir.
Alguém sabe o que está acontecendo aqui?
ATUALIZAR:
Se eu definir UseSps="True" em meu outro provedor.isso funciona?
Os bancos de dados estão em servidores completamente diferentes.
Bex
Solução 2
Certo - para quem tem esse problema ..Eu sei o que está causando isso (pelo menos no meu caso).precisará de uma reescrita do código principal para corrigir.
Se tu vais aqui mostra a fonte de geração do Sps.Vá para a linha 1745
Se eu executar este procedimento no SQL Server, recebo este erro:
Cannot sort a row of size 8098, which is greater than the allowable maximum of 8094.
É porque os procedimentos armazenados no banco de dados que estou usando são absolutamente enormes, então eles são muito longos para a linha quando ela é ordenada.Remover o order by no código principal corrigirá esse erro, mas não sei se é necessário?
Vou enviá-lo como um problema.
Outras dicas
Presumo que você esteja usando a versão 2.X do subsônico, não a 3?
Nesse caso, você precisa informar sua configuração para gerar procs armazenados, algo assim:
<SubSonicService defaultProvider="blah">
<providers>
<clear />
<add
...
includeProcedureList="proc1,proc2"
Se você estiver usando a versão 3, você só precisa executar o modelo T4 para procs armazenados.