Enregistrez les données de la grille en utilisant Dapper.net et ServiceStack.OrmLite

dapper servicestack vb.net

Question

J'utilise datagridview pour les opérations CRUD.

Plus tôt, lorsque j'utilisais ADO.net et plus tard lorsque je suis passé à EF, j'ai réussi à passer toutes les commandes que je voulais. Insérer, mettre à jour ou supprimer.

Supposons que je veuille mettre à jour la première ligne, ou quatre lignes et onze lignes, et si je supprime une seconde ligne et également si je dois ajouter une nouvelle ligne. Tout cela en même temps en utilisant datagridview .

Ensuite, après toutes ces modifications, je dois juste appeler DA.Update (DS) ou dans EF SaveChanges et toutes mes données seront enregistrées. Dans les deux premiers scénarios, je peux faire exactement cela!

Exemple pour les deux premiers: ADO.NET ET EF6

Je l'ai fait de la manière suivante:

  1. ADO.NET:

        Dim command As New SqlCommand
    
        command = New SqlCommand(query, conn)
        command.CommandTimeout = 200
        ds = New DataSet
        SQLDA = New SqlDataAdapter(command)
    
    
        SQLDA.Fill(ds)
        Dim cb As New SqlCommandBuilder(SQLDA)
        Dim bs As New BindingSource
        bs .DataSource = ds.Tables(0)
        DGV.DataSource = bs 
    
        button_clik
      SQLDA.UPDATE(ds)    'save all changes i have made
    
  2. EF

            db = New _Context
    
            db.tPROMs.Load()
    
            Dim b = db.tPROMs.Local.ToBindingList
    
            b.AllowEdit = True
            b.AllowNew = True
            b.AllowRemove = True
    
            Dim bs As New BindingSource
            bs.DataSource = b
            DGV.DataSource = bs 
    
            button_clik
            db.SaveChanges()   'save all changes i have made
    

Maintenant, comment puis-je enregistrer des données directement à partir de la grille en utilisant DAPPER.NET ou ServiceStack.OrmLite

Jusqu'à présent, je l'ai fait avec ADO.NET et plus tard avec EF6. Mais pour de meilleures performances, je veux maintenant faire avec Dapper.net ou ServiceStack.OrmLite.

  1. DAPPER.NET

            ???????  
    
  2. ServiceStack.OrmLite

            ???????
    

Ma question

Réponse acceptée

J'ai du mal à suivre votre code mais la syntaxe dapper pour insert devrait être comme ceci:

using (var conn = new SqlConnection("YourConnString"))
{
    return conn.Execute(query, instaceToInsert);
}

Dapper mappera automatiquement les propriétés de votre modèle aux champs de votre requête ...

Donc, par exemple, si vous insérez une requête, c'est:

INSERT INTO Users (LastName, FirstName) VALUES (@LastName, @FirstName)

alors votre modèle doit être quelque chose comme:

public class User
{
    public string LastName { get; set; }
    public string FirstName { get; set; }
}

Puis remplacez instanceToInsert par une instance d'utilisateur ...

using (var conn = new SqlConnection("YourConnString"))
{
    return conn.Execute(query, new User {LastName = "John", FirstName = "Doe"});
}

Voici la version de VB.NET:

Using conn = New SqlConnection("YourConnString")
    Return conn.Execute(query, instaceToInsert)
End Using

Public Class User
    Public Property LastName() As String
    Public Property FirstName() As String
End Class

Using conn = New SqlConnection("YourConnString")
   Return conn.Execute(query, New User() With { .LastName = "John", .FirstName = "Doe"})
End Using



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi