2012-01-20 13 views

risposta

4

La mappatura per memorizzare la procedura e la vew non sono ancora supportate nel codice. E questi sono alcuni dei problemi che si possono trarre da Programming Entity Framework di Julia Lerman: Code First.

Mapping per aggiornabile Visualizza

modelBuilder.Entity<MyEntity>().ToTable("MY_VIEW")

Visualizza nomi delle colonne dovrebbe essere lo stesso Ente nome del campo e si possono utilizzare Entity Framework per inserire, aggiornare ed eliminare i dati così come selezionandolo. Basta mentire su Code First e dire al View come Table.

usando Visualizza per compilare oggetti

var myEntity = dbContext.MyEntity.SqlQuery("SELECT * FROM dbo.MY_VIEW")

Visualizza nomi colonna dovrebbe essere lo stesso di nomi dei campi di entità e ancora ottenere funzionalità DbContext come il monitoraggio cambiamento, lazy loading.

Utilizzando View per Popolare Nonmodel Oggetti

var myNonModel = dbContext.Database.SqlQuery("SELECT * FROM dbo.MY_VIEW")

Visualizza nomi delle colonne dovrebbe essere lo stesso come nomi di campo Entità.

Lavorare con le stored procedure

stessa tecnica per lavorare con vista.

var myEntity = dbContext.MyEntity.SqlQuery("dbo.StoredProcedureName @p0 @p1", myParam1, myParam2)

2

La mappatura della stored procedure non è supportata per niente nel codice. La mappatura delle visualizzazioni deve essere compromessa: fingi che la vista sia una tabella e speri che la tua applicazione funzioni. Fluent-api è stato progettato per supportare solo lo scenario code-first = la tua applicazione creerà un database. Quindi non ha supporto per alcuna funzionalità di database con logica a livello di database come stored procedure, viste o funzioni.

+0

+1: Quando si utilizza veramente Codice-In primo luogo, o qualsiasi domanda/risposta relative al vero Codice-In primo luogo, il database non dovrebbe avere viste, funzioni, o SP di che sono utilizzati da qualsiasi applicazione . – Suamere

Problemi correlati