Accesso al database SQL vecchia scuola rispetto a ORM (NHibernate, EF e altri).Chi vince?

StackOverflow https://stackoverflow.com/questions/59972

  •  09-06-2019
  •  | 
  •  

Domanda

Sono riuscito a scrivere il mio codice di accesso SQL con una combinazione di procedure memorizzate e query con parametri e una piccola libreria wrapper che ho scritto per ridurre al minimo il grunge di ADO.NET.Tutto questo ha funzionato molto bene per me in passato e sono stato piuttosto produttivo.

Sto avviando un nuovo progetto: dovrei lasciarmi alle spalle le cose della vecchia scuola e dedicarmi a una soluzione basata su ORM?(So ​​che ci sono enormi differenze di alto livello tra NHibernate ed EF: non voglio approfondirlo qui.Per amor di discussione, consideriamo anche LINQ con le alternative della vecchia scuola.) Sto cercando consigli sull'applicazione nel mondo reale di cose di tipo ORM rispetto a ciò che so (e conosco abbastanza bene).

Codice ADO.NET vecchia scuola o ORM?Sono sicuro che esista una curva: la curva ha un ROI che rende le cose utili?Sono ansioso e disposto a imparare, ma ho una scadenza.

È stato utile?

Soluzione

Una bella domanda ma un argomento molto controverso.

Questo post sul blog di Frans Bouma da qualche anno fa citare i vantaggi dell'SQL dinamico (che implica ORM) sulle procedure memorizzate ha scatenato una feroce guerra di fuoco.

Altri suggerimenti

Trovo che LINQ to SQL sia molto, molto più veloce durante la prototipazione del codice.Spazza via qualsiasi altro metodo quando ho bisogno di qualcosa adesso.

Ma c'è un costo.Rispetto ai processi archiviati manualmente, LINQ è lento.Soprattutto se non stai molto attento poiché modifiche apparentemente minori possono improvvisamente trasformarsi in una singola query 1+N.

La mia raccomandazione.Utilizza inizialmente LINQ to SQL, quindi passa a procs se non ottieni le prestazioni di cui hai bisogno.

C'è stata una grande discussione su questo argomento al DevTeach di Montreal.Se vai a questo URL: http://www.dotnetrocks.com/default.aspx?showNum=240 potrai ascoltare due esperti del settore (Ted Neward e Oren Eini) discutere i pro e i contro di ciascun approccio.Probabilmente la migliore risposta che troverai su un argomento che non ha una vera risposta definitiva.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top