Visualizzazione dei risultati da 1 a 10 su 25

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Cavolo! Non conoscevo questo metodo! Grazie 1000!!

    Per l'altro problema no non credo dipenda da questo perchè io creo semplicemente una list(of T) di entità e poi chiedo il removeRange su quella lista ma mi da errore!

    codice:
       Dim lstToDel As List(Of movimenti) = myDB.movimenti.Where(Function(m) idToDel.Contains(m.id_Mov)).ToList
                myDB.movimenti.RemoveRange(lstToDel)
                myDB.SaveChanges()
    idToDel è una list(of intenger) contenente la lista di id_Mov

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    Per l'altro problema no non credo dipenda da questo perchè io creo semplicemente una list(of T) di entità e poi chiedo il removeRange su quella lista ma mi da errore!
    L'errore qual è?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Quote Originariamente inviata da alka Visualizza il messaggio
    L'errore qual è?
    Table 'finanze.finanze.movimenti' doesn't exist"


    se serve però ti incollo tutta l'eccezione

  4. #4
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    il codice completo è questo:

    codice:
      Dim myDB As EF_DB = creaMyDB()
            Try
                Dim lstToDel As List(Of movimenti) = myDB.movimenti.Where(Function(m) idToDel.Contains(m.id_Mov)).ToList
                myDB.movimenti.RemoveRange(lstToDel)
                myDB.SaveChanges()
                MsgBox("Movimenti Eliminati", MsgBoxStyle.Information, "Operazione Effettuata")
                out = True
            Catch ex As Exception
                errMsg(ex)
            Finally
                killMyDB(myDB)
            End Try
    le 2 sub che richiamo (creaMyDB e killMyDB) sono queste:

    codice:
        Function creaMyDB() As EF_DB
            Return New EF_DB
        End Function
    
        Function killMyDB(ByVal myDB As EF_DB) As Boolean
            myDB.Dispose()
            Return IsNothing(myDB)
        End Function

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Quote Originariamente inviata da Veronica80
    Table 'finanze.finanze.movimenti' doesn't exist"
    Non è che questi record lasciano degli orfani all'interno del DB, ossia record che puntano a essi e così non hanno più a disposizione il figlio nella relazione?

    Quote Originariamente inviata da Veronica80
    il codice completo è questo [...]
    Il valore di ritorno booleano non ti serve a nulla: se si verifica un errore, è l'eccezione che deve "uscire" e veicolare questa condizione, gestendola all'esterno della procedura anche con la visualizzazione di un messaggio; inserendola qui, sei costretta sempre a testare il valore booleano di ritorno complicando il codice, e a gestire in un sol modo l'errore, mentre magari all'esterno potresti voler cambiare idea o fare qualcosa di più.

    le 2 sub che richiamo (creaMyDB e killMyDB) sono queste [...]
    Anche queste due sub non ti servono a nulla e complicano soltanto: la prima fa solamente una New senza particolari aggiunte, la seconda chiama Dispose (che è corretto) e restituisce sempre un booleano inutile, anche perché sarà sempre "True" in quanto myDB è diverso da Nothing, sebbene rimanga inutilizzabile poiché hai fatto Dispose() dell'oggetto a cui la variabile fa riferimento, quindi è pure fuorviante.

    Semplificare, semplificare, semplificare.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.