Ciao a tutti,
Sto cercando di trovare uno standard per la selezione di datarow dal database in oggetti.
Ho trovato questa soluzione e volevo sottoporvela per vedere cosa ne pensate :
Database
tbl banco
tbl bancoTempoPortata
Relazione
banco - bancoTempoPortata
1 - N
Ho omesso un po di dettagli inutili, ma l'idea di base è questacodice:Public Class banco Public prop1 as string .... Public propN as string Public dicTAp As New Dictionary(Of Double, tempoPortata) //Metodo Public Function loadTempoPortate(ByVal idCont As Integer) Dim tempAp As New tempoPortata tempAp.db = Me.db dicTAp = tempAp.getListTApertureFromBancoCont(Me.cod, idCont) End Function End Class Public Class tempoPortata Public Function getListTApertureFromBancoCont(ByVal codBanco As Integer, ByVal idCont As Integer) As Dictionary(Of Double, tempoPortata) Dim arrTap As New Dictionary(Of Double, tempoPortata) Dim tmpTAp As tempoPortata db.SQL = "SELECT * FROM banchiTempoPortata WHERE [tempPortata_codBanco] = '" & codBanco & "' AND [tempPortata_idCont] = '" & idCont & "' " For Each row In db.getDT("banchiTempoPortata").Rows tmpTAp = New tempoPortata tmpTAp.db = Me.db tmpTAp.load(row) arrTap.Add(Me.portata, tmpTAp) Next Return arrTap End Function Private Function load(ByVal row As DataRow) Try Me.id = row("tempPortata_id") Me.codBanco = row("tempPortata_codBanco") Me.idCont = row("tempPortata_idCont") Me.portata = row("tempPortata_portata") Me.tApertura = row("tempPortata_tApertura") Me.caso = row("tempPortata_caso") Return True Catch ex As Exception Me.lastError = ex.Message db.Disconnetti() Return False End Try End Function End Class
La classe banco ha come proprietà una dictionary che come chiave ha un proprietà unicova della classe tempoportata e come value l'oggetto tempoportata
Nel metodo loadTempoPortata della classe banco io vado a richiama un metodo della classe tempoPortata che mi restituisce una dictionary con cui aggiorno la dictionary del banco.
Come vi sembra?

Rispondi quotando
