Accesso diretto o Identity Framework

di il
2 risposte

Accesso diretto o Identity Framework

Salve a tutti

nella realizzazione della mia App Windows Form in c# ho approfondito in questi giorni l'accesso ai dati del database e nel caso specifico in sqlserver express.

Ho studiato due approcci:

il primo con una connessione SqlConnection diretta e un oggetto SqlCommand etc etc…

il secondo con una connessione che utilizza l'Entity Framework ORM (Object-Relational Mapping), etc etc…


Ho riscontrato che nel primo caso sarà più semplice gestire i dati con stringhe sql, anche molto complesse, scorrere e leggere i records delle tabelle… ma soprattutto è importantissimo conoscere molto bene l' sql per ottenere le corrette prestazioni.

Nel secondo caso, con Entity, l'accesso ai dati, alle tabelle e ai records risulta più semplice, con meno righe di codice, etc etc… in sostanza si ottengono degli oggetti e si interagisce con le proprietà degli stessi per leggere, scrive e aggiornare il database. 
Tuttavia riscontro la difficoltà di poter eseguire delle query più complesse…. insomma, non offre la stessa flessibilità che si ha con il primo metodo. 

Domande: premesso che sulla base dell'esigenze del progetto si dovrà prediligere un metodo rispetto all'altro…

ma in termini di performance, quale dei due metodi scegliere ? 

mentre in termini di prestazioni, cpu e memoria, quali dei due metodi scegliere ? 

esistono altri metodi di connessione al DB da prendere in considerazione rispetto ai due sopra citati ?

a priori quali metodi escludere del tutto in quanto non performanti e obsoleti ? 


Ogni vostro consiglio e opinione mi permetterà di approfondire un argomento rispetto ad un altro e ringrazio anticipatamente per tutte le info e dritte che varrete darmi.

;-)

(colgo l'occasione per augurare a voi tutti un buon ferragosto)


2 Risposte

  • Re: Accesso diretto o Identity Framework

    14/08/2023 - By65Franco ha scritto:


    ma in termini di performance, quale dei due metodi scegliere ? 

    mentre in termini di prestazioni, cpu e memoria, quali dei due metodi scegliere ? 

    Le due domande riguardano fondamentalmente la stessa questione, ed entrambe escludono i fattori principali che sono invece da prendere in considerazione nella scelta tra le due soluzioni.

    Entity Framework usa ADO.NET per accedere ai dati, quindi come sovrastruttura è ovvio che risulterà più lenta di ADO.NET, ma bisogna porsi un'altra domanda, ossia qual è il vantaggio che il primo fornisce rispetto al secondo? E a quale costo, ovvero la differenza è tale che me ne posso accorgere o è trascurabile in favore del vantaggio che ottengono nella costruzione del DAL?

    E' un po' come se tu ti stessi chiedendo se è più veloce sviluppare con C# generando IL oppure lavorare direttamente in assembler: ovvio che la seconda opzione è più performante, ma non credo che - per la tipologia di applicazioni che stai sviluppando - il gioco valga la candela, come si suol dire.

    14/08/2023 - By65Franco ha scritto:


    esistono altri metodi di connessione al DB da prendere in considerazione rispetto ai due sopra citati ?

    A voglia: se cerchi “DAL .NET” trovi tantissime altre librerie, come ad esempio Dapper.

    14/08/2023 - By65Franco ha scritto:


    a priori quali metodi escludere del tutto in quanto non performanti e obsoleti ? 

    Nella stessa pagina di Dapper indicata qui sopra trovi comparazioni con altri framework in termini di performance, ma cercando il nome puoi valutare cosa hanno da offrire questi tool rispetto a tutti gli altri, compresi EF e ADO.NET “nudo e crudo”.

    Non si tratta di librerie/framework nuovi: se ne è parlato in lungo e in largo sul web e anche su questo forum.

  • Re: Accesso diretto o Identity Framework

    Grazie mille Alka

    perfetto, ho già capito alcune cose in più… e approfondirò quanto da te suggerito.

    Grazie !!!

Devi accedere o registrarti per scrivere nel forum
2 risposte