Tabelle di ricerca di Entity Framework

3

Vengo dal lavorare con i DataSet di ADO.net e mi sento abbastanza a mio agio nel modo in cui funzionano. Principalmente, di solito ho una tabella DATI con un gran numero di tabelle REF per le ricerche.

In DataSet è stato abbastanza semplice definire una query e alcune funzioni di accesso per ottenere una tabella REF associata a un set di dati o una classe. Potrei anche creare una tabella nel set di dati comprendente un gran numero di tabelle unite insieme.

Tuttavia, questo sembra non essere la norma nella struttura delle entità. Di solito nei tutorial, vedo persone che aggiungono voci a una tabella senza alcuna ricerca che non funziona per il mio modello di database.

Quali sono i miei fraintendimenti e ipotesi qui?

    
posta brhardwick 21.11.2014 - 15:25
fonte

1 risposta

1

Per la generazione di relazioni implicite durante la creazione di un modello database-first in Entity Framework, le tabelle devono avere chiavi primarie e fare riferimento alle chiavi primarie delle altre tabelle con chiavi esterne.

Se ti piace avere i join tenuti all'interno del livello SQL (nel codice, volevo dire, la maggior parte delle volte LINQ crea un join SQL nell'istruzione), creare una procedura memorizzata e mappare quella procedura in EF, che può essere appena chiamata come una chiamata di funzione una volta mappata. I risultati selezionati dalla procedura si associano a un oggetto IEnumerable di "usp_myprocnameResults".

Un bell'esempio: link

using (var context = new SchoolDBEntities())
        {
            var courses = context.GetCoursesByStudentId(1);

            foreach (Course cs in courses)
                Console.WriteLine(cs.CourseName);
        }
    
risposta data 05.08.2015 - 14:49
fonte

Leggi altre domande sui tag