DbFirst vs Codice prima? cosa dovrei usare se mi affido alle procedure memorizzate

5

Questa domanda viene posta molte volte e preferisco sempre il code-first perché mi piace mantenere la logica nel codice.

Ma ora ho una sfida per caricare schermo in meno di 5 secondi e pochissimo tempo per fare le cose. Ho un ampio set di record e probabilmente li recupererò in modo asincrono. Ci sono alcuni dubbi nella mia mente.

  • L'utilizzo dell'approccio db-first ha qualche vantaggio in termini di prestazioni rispetto al codice?
  • Devo scrivere la logica nelle stored procedure o nel codice (Linq)?
  • Che ha meno latenza: Linq o stored procedure?
posta Aaron 18.12.2013 - 07:14
fonte

2 risposte

2

Sono abbastanza sicuro che non ci sia alcun impatto in dbfirst o prima esecuzione del codice, perché quando si usa db per prima cosa si crea il modello con edmx e quando si usa il codice per prima cosa si definisce il proprio modello, pensarlo come:

database = > modello (primo database)

model = > database (prima il codice)

Se non si desidera mantenere la logica in codice, il modo corretto è utilizzare la stored procedure, ma se si desidera mantenere la logica nel codice, non utilizzare la stored procedure con linq.

linq è sempre più lento, perché la query well viene creata in fase di runtime

    
risposta data 18.12.2013 - 07:29
fonte
-3

I fornitori di database hanno speso centinaia di anni uomo a sviluppare e ottimizzare i loro sistemi per prestazioni ed efficienza. È un gioco da ragazzi che le prestazioni saranno sempre migliori utilizzando i modelli di DB nativi con stored procedure per la codifica nell'app. è quasi ridicolo usare solo il db come solo un contenitore. Inoltre, le stored procedure sono compilate e quindi più veloci, con sql in linea nell'applicazione, lo sql sarà sempre compilato dal db prima della sua esecuzione, rendendolo meno efficiente. MVC è più utile per i programmatori piuttosto che per le soluzioni basate sulle prestazioni.

    
risposta data 07.03.2017 - 11:58
fonte