Estou muito impressionado com os resultados do Dapper Micro ORM para stackoverflow.com. Estou considerando isso para o meu novo projeto, mas tenho uma preocupação quanto a isso algumas vezes, meu projeto exige o Procedimento Armazenado e tenho muita pesquisa na Web, mas não encontrei nada com o procedimento armazenado. Então, existe alguma maneira de o Dapper trabalhar com um procedimento armazenado?
Por favor, deixe-me saber se é possível, caso contrário eu tenho que estendê-lo no meu caminho.
.net
stored-procedures
orm
dapper
Jalpesh Vadgama
fonte
fonte
Respostas:
No caso simples, você pode fazer:
Se você quiser algo mais sofisticado, pode fazer:
Além disso, você pode usar exec em um lote, mas isso é mais desajeitado.
fonte
cnn.Query<MyType>
como posso obter o valor do parâmetro Output do proc?Eu acho que a resposta depende de quais recursos dos procedimentos armazenados você precisa usar.
Os procedimentos armazenados que retornam um conjunto de resultados podem ser executados usando
Query
; procedimentos armazenados que não retornam um conjunto de resultados podem ser executados usandoExecute
- nos dois casos (usandoEXEC <procname>
) como o comando SQL (mais parâmetros de entrada, conforme necessário). Veja a documentação para mais detalhes.Na revisão 2d128ccdc9a2 , parece não haver suporte nativo para
OUTPUT
parâmetros; você pode adicionar isso ou construir umQuery
comando mais complexo que declarar variáveis TSQL, executar osOUTPUT
parâmetros de coleta do SP nas variáveis locais e finalmente devolvê-los em um conjunto de resultados:fonte
Aqui está o código para obter retorno de valor do procedimento Store
Procedimento armazenado:
Código:
fonte
O mesmo de cima, um pouco mais detalhado
Usando o .Net Core
Controlador
Procedimento armazenado (relação pai-filho)
Referências no caso
fonte
Microsoft.EntityFrameworkCore
? Apenas usando Dapper no DAL ?Com retorno múltiplo e multiparâmetro
fonte
fonte