Come collegare l'applicazione mvc usando entityframework o ado.net?

0

Sono uno sviluppatore di ASP.NET. Voglio imparare ASP.NET MVC. In effetti, lo sto imparando. Ma ora sono confuso in un punto. Come posso collegare il mio database alla mia applicazione. Utilizzo di entity framework o linq o ado.net. Ho una buona conoscenza di ado.net. Ma riguardo al framework delle entità non posso dire nulla. Ora il mio problema è questo qualsiasi ebook o sito Web che vedo ogni framework di entità viene utilizzato. Quindi è essenziale per me imparare la prima struttura di entità prima di ASP.NET MVC o no?

    
posta Azad Chouhan 25.02.2014 - 06:48
fonte

2 risposte

3

Dovrai usare LINQ e EF insieme se vuoi fare qualcosa di più complicato di CRUD con EF. Detto questo, EF rende la sporcizia CRUD semplice. Costruisci i tuoi modelli o database, sposta le modifiche nell'altro modo (aggiorna rispettivamente il database oi tuoi modelli), aggiungi controller e viste a piacere.

Se inizi a entrare in oggetti più complicati di quelli che possono essere memorizzati in un set di tabelle correlate (genitore, figlio, nipote, ecc.), dovrai passare a LINQ. Ma la paura non è un viaggiatore gentile, LINQ può utilizzare direttamente gli oggetti EF, rendendo banali molte cose (ad es., Dati nidificati complicati, a malapena correlati in strutture che farebbero arrossire JSON). LINQ offre anche il vantaggio di poter utilizzare direttamente istruzioni SQL. AFAIK, sarai in grado di utilizzare la connessione EF solo durante l'utilizzo di SQL. Non ho avuto alcun bisogno di usarlo fino ad ora.

EF sta migliorando sempre di più. Non vedo che sia in linea con LINQ, ma potrebbe essere più che sufficiente per la maggior parte dell'accesso ai dati a breve.

Mi azzarderei a indovinare che puoi imparare EF e MVC allo stesso tempo.

Devo anche menzionare che puoi combinare una o tutte le tecnologie che hai citato.

    
risposta data 25.02.2014 - 07:47
fonte
2

Devi vedere questi elementi come strati di una torta.

  • ASP .Net WebForms o ASP .Net MVC è lo strato superiore della torta, vale a dire il livello dell'interfaccia utente. Questo, idealmente, dovrebbe gestire il l'utente naviga e passa a qualcosa di più complicato la logica aziendale.
  • Il livello successivo, la parte centrale della torta, è la "logica aziendale", dove imposti le regole della tua applicazione o "come funziona" codifica. Qualcosa di più complicato di questo, vale a dire leggere / scrivere al database viene nuovamente passato.
  • Lo strato inferiore della torta, è il livello dati; questo strato legge e scrive dati da / verso il database, indipendentemente dal fatto che tu sia usando SQL Server, Access, Oracle, MySQL, qualunque cosa.

Impara a tagliare il tuo codice in questo modo e sarai in una posizione migliore per la tua carriera, andando avanti. (Per Iniezione delle dipendenze, Inversione del controllo, Test unitario, ecc. Ecc.)

Nel caso che hai menzionato, Entity Framework è conosciuto come Object Relational Mapper, o in breve ORM. NHibernate è un altro esempio di un ORM. Il lavoro di un ORM è di ricordare che una particolare tabella nel tuo database è 'mappata' ad un oggetto di classe nel tuo codice. Ci sono molti esempi su StackOverFlow.com per Entity Framework, ma per essere onesti, comprerei un libro che non si concentra direttamente su EF in quanto sembra che tu abbia bisogno di una messa a terra MVC prima. Prova qualcosa del tipo: ASP .Net 4 .

LINQ, tuttavia, è qualcosa che puoi usare con la codifica in generale, ma in primo luogo, dovresti usare LINQ per interrogare un database, o un'altra raccolta di oggetti, come in:

    // The Three Parts of a LINQ Query: 
    //  1. Data source. 
    int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };

    // 2. Query creation. 
    // numQuery is an IEnumerable<int> 
    var numQuery =
        from num in numbers
        where (num % 2) == 0
        select num;

    // 3. Query execution. 
    foreach (int num in numQuery)
    {
        Console.Write("{0,1} ", num);
    }

Dai un'occhiata a qui in quanto potrebbe essere un buon punto di partenza.

    
risposta data 25.02.2014 - 09:49
fonte

Leggi altre domande sui tag