ObjectDataSource e Select

mercoledì 25 novembre 2009 - 18.14

cldparisi Profilo | Newbie

ObjectDataSource e Select

Utilizzo un mio ObjectDataSource "legato" ad una classe "controller" taggata [System.ComponentModel.DataObject] e i vari metodi per il select, update, insert e delete e fin qui tutto bene.

In una determinata pagina lego *lo stesso* ObjectDataSource a 10 combo, mi sarei aspettato che il metodo Select fosse invocato una sola volta in quanto l'ObjectDataSource è uno e poi che siano popolate le varie combo.
Così non è stato e la Select veniva chiamata 10 volte.
Ho pensato di risolvere banalmente mettendomi una mia proprietà dentro la mia classe "controller" e al primo select mi setto la proprietà e ai successivi select se la proprietà è valorizzata restituisco quella ma mi sono accorto che oltre a richiamare per 10 volte la select viene anche istanziata 10 volte la mia classe "controller" e ovviamente la proprietà è sempre a null.

C'è un sistema per far i modo che la Select sia fatta una sola volta (senza usare Session o static)????
In fondo sono dentro la stessa pagina e non dopo un postback (per altro se si potesse anche tra post back non mi farebbe schifo).

Sempre parlando dell’ ObjectDataSource come posso dopo aver fatto al select dall’oggetto ottenere la collection caricata castadola via codice? Mi spiego meglio se nell’ObjectDataSource tramite la select ci metto un List<Persons> come posso ottenere questa lista dall’ObjectDataSource? Mi aspetterei una cosa del tipo (List<Persons>)myObjectDataSource.PropietàCheHaLaSource.

Grazie

--
Claudio P.

sankyu Profilo | Senior Member

sulla seconda domanda non ti so rispondere mentre sulla prima io uso solo metodi static per fare select quindi non saprei in teoria con un pattern singleton non ti può creare 10 istanze in quanto il singleton glielo impedisce per un esempio guarda qua http://www.dofactory.com/patterns/PatternSingleton.aspx

cldparisi Profilo | Newbie

Mmmmm ....però se faccio una proprietà static è visibile *sempre* non solo per il ciclo di vita della pagina (come fosse in session) e forse questo potrebbe darmi fastidio.
Mentre non so se addirittura è visibile a tutti gli accessi come fosse in Application, in tal caso sicuramente non mi andrebbe bene
--
Claudio P.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5