110 messaggi dal 08 febbraio 2007
Si cosi' funziona... ma la dovrei rendere "generica"
perche' il tipo restituito non e' sempre di tipo vw_sp_wsat_GetUsersForGrid (ma e' sempre una lista.

PS. Come da precedente post..

Lavoro con il Framework 3.5 e ADO.NET Entity Framework
quindi per gestire una SP di tipo SELECT
ho dovuto fare una vista (vw_sp_wsat_GetUsersForGrid) con gli stessi campi della query della sp.
Poi ho associato il tipo di restituzione della sp con il tipo vista
(vw_sp_wsat_GetUsersForGrid)

Quindi in questo caso il tipo di oggetto che mi restituisce e' una

List<vw_sp_wsat_GetUsersForGrid>
ma la dovrei rendere "generica"

E' già "generica". Il punto è un altro.

perche' il tipo restituito non e' sempre di tipo vw_sp_wsat_GetUsersForGrid (ma e' sempre una lista.

Non puoi dire così. Voglio dire, concettualmente è una "lista", ma il tipo è IList<SomeType>. Ti torna?
Ora, se proprio non vuoi intervenire sul tuo modello (e ti consiglio, invece, di farlo), appoggiati all'enumeratore.
Se guardi bene, IList<T> espone, tirando le somme, IEnumerable. Ottieni quindi l'enumeratore con GetEnumerator() e attraversa tutto lo stream, avendo cura di incrementare un contatore ad ogni iterazione. Ovviamente, è orribile, e dovresti quindi prendere seriamente in considerazione un pò di refactoring.

Poi ho associato il tipo di restituzione della sp con il tipo vista
(vw_sp_wsat_GetUsersForGrid)

Quindi in questo caso il tipo di oggetto che mi restituisce e' una

List<vw_sp_wsat_GetUsersForGrid>

E' terribile!
Scusa, giusto per farti un'idea, prova a dare un'occhiata al seguente link.
Using Stored Procedures with the ADO.NET Entity Framework

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<
110 messaggi dal 08 febbraio 2007
Lo so che e' terribile, ma non sono riuscito a trovare il modo per farlo in altra maniera, visto che la SP. non restituisce oggetti "semplici" come nell'esempio che mi hai indicato, ma restituisce una query con varie tabelle in JOIN.

Nel Framework 4 per fortuna hanno messo le Complex Entities che risolve questo problema....


Guardero' l'enumeratore come consigliato...

Grazie

PS. Con noi "principianti" bisogna avere molta pazienza....

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.