Dapper Tutorial Dapper - Risultato fortemente tipizzato
Descrizione
I metodi di estensione possono essere utilizzati per eseguire una query e mappare il risultato utilizzando fortemente tipizzato.
Il risultato anonimo può essere mappato dai seguenti metodi:
Questi metodi di estensione possono essere richiamati da qualsiasi oggetto di tipo IDbConnection.
Esempio - Query
Il metodo di interrogazione può eseguire una query e mappare il risultato in un elenco fortemente digitato.
string sql = "SELECT TOP 10 * FROM OrderDetails"; using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools())) { var orderDetails = connection.Query<OrderDetail>(sql).ToList(); Console.WriteLine(orderDetails.Count); FiddleHelper.WriteTable(orderDetails); }
include component-try-it.html href = 'https: //dotnetfiddle.net/dXZc0s'%}
Esempio - QueryFirst
Il metodo QueryFirst può eseguire una query e mappare il primo risultato in un elenco fortemente tipizzato.
string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;"; using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools())) { var orderDetail = connection.QueryFirst<OrderDetail>(sql, new {OrderDetailID = 1}); FiddleHelper.WriteTable( new List<OrderDetail>() { orderDetail }); }
include component-try-it.html href = 'https: //dotnetfiddle.net/AV0OgZ'%}
Esempio: QueryFirstOrDefault
Il metodo QueryFirstOrDefault può eseguire una query e associare il primo risultato a un elenco fortemente tipizzato o un valore predefinito se la sequenza non contiene elementi.
string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;"; using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools())) { var orderDetail = connection.QueryFirstOrDefault<OrderDetail>(sql, new {OrderDetailID = 1}); FiddleHelper.WriteTable(new List<OrderDetail>() { orderDetail }); }
include component-try-it.html href = 'https: //dotnetfiddle.net/2WQ7sc'%}
Esempio - QuerySingle
Il metodo QuerySingle può eseguire una query e mappare il primo risultato in un elenco fortemente tipizzato e genera un'eccezione se non c'è esattamente un elemento nella sequenza.
string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;"; using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools())) { var orderDetail = connection.QuerySingle<OrderDetail>(sql, new {OrderDetailID = 1}); FiddleHelper.WriteTable(new List<OrderDetail>() { orderDetail }); }
include component-try-it.html href = 'https: //dotnetfiddle.net/vnkv7q'%}
Esempio: QuerySingleOrDefault
Il metodo QuerySingleOrDefault può eseguire una query e associare il primo risultato a un elenco fortemente tipizzato o un valore predefinito se la sequenza è vuota; questo metodo genera un'eccezione se c'è più di un elemento nella sequenza.
string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;"; using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools())) { var orderDetail = connection.QuerySingleOrDefault<OrderDetail>(sql, new {OrderDetailID = 1}); FiddleHelper.WriteTable(new List<OrderDetail>() { orderDetail }); }
include component-try-it.html href = 'https: //dotnetfiddle.net/kFMKnL'%}