Ho giocato con Dapper, cercando di capire se si tratta di un'alternativa leggera a Entity Framework. Finora sono rimasto impressionato dalla sua capacità di estrarre rapidamente un'entità <model>
da un DB e di inserirla in un oggetto IEnumerable di un modello, o semplicemente creare una singola istanza di un modello. Molto lucidoÈ possibile utilizzare Dapper per aggiornare e inserire modelli?
Ma quello che non vedo è un modo semplice per aggiornare il modello al db.
Esempio:
public class Dog
{
public Guid Id { get; set; }
public int? Age { get; set; }
public string Name { get; set; }
public float? Weight { get; set; }
}
si possono facilmente creare un IEnumerable del cane nel modo seguente:
IEnumerable<Dog> dogs = connection.Query<Dog>("SELECT * FROM Dog")
Oppure, per una singola istanza:
Dog dog = connection.Query<Dog>("SELECT * FROM Dog WHERE DogId = @dogid")
Che tutto funziona alla grande. Ma ora, se apportiamo modifiche al "cane" (diciamo, cambiamo solo il suo peso), c'è un modo rapido, semplice e veloce per riportare quell'entità nel database senza dover fare una query UPDATE manuale, elencando ogni campo ?
Grazie!
Sembra che il superamento di un '' lista dovrebbe [inserire più voci] (http://stackoverflow.com/a/6500834/69809)? Bisogna attenersi alle query parametrizzate ('SELECT * FROM Dog WHERE DogId = @ DogId'), a meno che non vi piacciano gli attacchi SQL injection. –
Groo
Come funzionerebbe questa sintassi? Guardando il file Leggimi su GitHub, non sto vedendo un esempio di questo. https://github.com/StackExchange/dapper-dot-net –
Presumibilmente mi piace la risposta che ho collegato a: 'connection.Execute (@" aggiorna Dog set Name = @ Name, Age = @ Age ", lista);'? – Groo