Accedere direttamente al database con un tableAdapter nelle applicazioni .NET Framework

Nota

I set di dati e le classi correlate sono tecnologie .NET Framework legacy dei primi anni '2000 che consentono alle applicazioni di lavorare con i dati in memoria mentre le applicazioni vengono disconnesse dal database. Sono particolarmente utili per le applicazioni che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Anche se i set di dati hanno dimostrato di essere una tecnologia molto efficace, è consigliabile che le nuove applicazioni .NET usino Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e ha un'interfaccia di programmazione più semplice.

Oltre a InsertCommand, UpdateCommande DeleteCommand, i tableAdapter vengono creati con metodi che possono essere eseguiti direttamente sul database. È possibile chiamare questi metodi (TableAdapter.Insert, TableAdapter.Updatee TableAdapter.Delete) per modificare i dati direttamente nel database.

Se non si desidera creare questi metodi diretti, impostare la proprietà TableAdapter GenerateDbDirectMethods su false nella finestra Proprietà . Se vengono aggiunte query a un oggetto TableAdapter oltre alla query principale di TableAdapter, si tratta di query autonome che non generano questi DbDirect metodi.

Inviare comandi direttamente a un database

Chiamare il metodo TableAdapter DbDirect che esegue l'attività che si sta tentando di eseguire.

Per inserire nuovi record direttamente in un database

  • Chiamare il metodo TableAdapter Insert , passando i valori per ogni colonna come parametri. La procedura seguente usa la Region tabella nel database Northwind come esempio.

    Nota

    Se non si dispone di un'istanza disponibile, creare un'istanza di TableAdapter da usare.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Insert(5, "NorthWestern");
    

Per aggiornare i record direttamente in un database

  • Chiamare il metodo TableAdapter Update , passando i valori nuovi e originali per ogni colonna come parametri.

    Nota

    Se non si dispone di un'istanza disponibile, creare un'istanza di TableAdapter da usare.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Update(1, "East", 1, "Eastern");
    

Per eliminare i record direttamente da un database

  • Chiamare il metodo TableAdapter Delete , passando i valori per ogni colonna come parametri del Delete metodo . La procedura seguente usa la Region tabella nel database Northwind come esempio.

    Nota

    Se non si dispone di un'istanza disponibile, creare un'istanza di TableAdapter da usare.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Delete(5, "NorthWestern");