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

codice:
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
Ho omesso un po di dettagli inutili, ma l'idea di base è questa

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?