DbFirst vs Code First? o que devo usar se eu confiar em procedimentos armazenados

5

Essa pergunta é feita muitas vezes, e eu sempre prefiro codificar primeiro, pois gosto de manter a lógica no código.

Mas agora tenho um desafio para carregar a tela abaixo de 5 segundos e muito pouco tempo para fazer as coisas. Eu tenho um grande conjunto de registros e, possivelmente, vou recuperá-los de forma assíncrona. Existem algumas dúvidas em minha mente.

  • O uso da abordagem db-first tem algum benefício no desempenho sobre o primeiro código?
  • Devo escrever a lógica em procedimentos armazenados ou no código (Linq)?
  • Qual tem menos latência: Linq ou procedimentos armazenados?
por Aaron 18.12.2013 / 07:14
fonte

2 respostas

2

Tenho certeza que não há nenhum impacto no dbfirst ou no primeiro desempenho do código, porque ao usar o db primeiro você cria seu modelo com o edmx e, ao usar o código primeiro, você define seu próprio modelo, como:

banco de dados = > modelo (banco de dados primeiro)

model = > banco de dados (código primeiro)

Se você não quer manter sua lógica no código, então o caminho certo é usar o procedimento armazenado, mas se você quiser manter a lógica em seu código, então não use o procedimento armazenado com o linq.

o linq é sempre mais lento, porque bem, a consulta é criada no tempo de execução

    
por 18.12.2013 / 07:29
fonte
-3

Fornecedores de bancos de dados passaram centenas de anos desenvolvendo e otimizando seus sistemas para desempenho e eficiência. É um acéfalo que o desempenho será sempre melhor usando modelos de banco de dados nativos com procedimentos armazenados sobre codificação no aplicativo. é quase ridículo usar apenas o db como apenas um contêiner. Além disso, os procedimentos armazenados são compilados e, portanto, mais rápidos, com o sql embutido no aplicativo, o sql sempre será compilado pelo banco de dados antes de sua execução, tornando-o menos eficiente. O MVC é mais fácil para codificadores do que para soluções voltadas ao desempenho.

    
por 07.03.2017 / 11:58
fonte