Tutorial by Examples



using StackExchange.Redis; // ... // connect to the server ConnectionMultiplexer connection = ConnectionMultiplexer.Connect("localhost"); // select a database (by default, DB = 0) IDatabase db = connection.GetDatabase(); // run a command, in this case a GET RedisValue myVal ...
O bien buscar en la GUI de Visual Studio: Herramientas> NuGet Package Manager> Administrar paquetes para la solución ... (Visual Studio 2015) O ejecute este comando en una instancia de Nuget Power Shell para instalar la última versión estable Install-Package Dapper O para una versión e...
Para los tipos conocidos en tiempo de compilación, use un parámetro genérico con Query<T> . public class Dog { public int? Age { get; set; } public Guid Id { get; set; } public string Name { get; set; } public float? Weight { get; set; } public int IgnoredProperty ...
También puede consultar dinámicamente si deja de lado el tipo genérico. IDBConnection db = /* ... */; IEnumerable<dynamic> result = db.Query("SELECT 1 as A, 2 as B"); var first = result.First(); int a = (int)first.A; // 1 int b = (int)first.B; // 2
class ToyProfiler : IProfiler { public ConcurrentDictionary<Thread, object> Contexts = new ConcurrentDictionary<Thread, object>(); public object GetContext() { object ctx; if(!Contexts.TryGetValue(Thread.CurrentThread, out ctx)) ctx = null; ...
ConnectionMultiplexer conn = /* initialization */; var profiler = new ToyProfiler(); conn.RegisterProfiler(profiler); var threads = new List<Thread>(); var perThreadTimings = new ConcurrentDictionary<Thread, List<IProfiledCommand>>(); for (var i = 0; i < 16; i++) {...
IDBConnection db = /* ... */ var id = /* ... */ db.Execute(@"update dbo.Dogs set Name = 'Beowoof' where Id = @id", new { id });
Uso simple Dapper soporta completamente los procs almacenados: var user = conn.Query<User>("spGetUser", new { Id = 1 }, commandType: CommandType.StoredProcedure) .SingleOrDefault(); Parámetros de entrada, salida y retorno Si quieres alg...
using System.Data; using System.Linq; using Dapper; class Program { static void Main() { using (IDbConnection db = new SqlConnection("Server=myServer;Trusted_Connection=true")) { db.Open(); var result = db.Query<string>(&quo...
LINQPad es ideal para probar consultas de bases de datos e incluye la integración de NuGet . Para usar Dapper en LINQPad, presione F4 para abrir las Propiedades de la consulta y luego seleccione Agregar NuGet . Busque dapper dot net y seleccione Agregar a la consulta . También querrá hacer clic en ...
public class IHtmlStringTypeHandler : SqlMapper.TypeHandler<IHtmlString> { public override void SetValue( IDbDataParameter parameter, IHtmlString value) { parameter.DbType = DbType.String; parameter.Value = value?.ToHtmlString(); } pu...
Para obtener varias cuadrículas en una sola consulta, se QueryMultiple método QueryMultiple . Esto le permite recuperar cada cuadrícula secuencialmente a través de llamadas sucesivas contra el GridReader devuelto. var sql = @"select * from Customers where CustomerId = @id select *...
Dapper facilita el seguimiento de las mejores prácticas mediante SQL totalmente parametrizado. Los parámetros son importantes, por lo que Dapper hace que sea fácil hacerlo bien. Simplemente expresa tus parámetros de la forma normal para tu RDBMS (generalmente @foo ?foo o :foo ) y le das a Dapper u...
A veces, la conveniencia de un parámetro (en términos de mantenimiento y expresividad) puede ser superada por su costo en el rendimiento para tratarlo como un parámetro. Por ejemplo, cuando el tamaño de la página está fijado por una configuración. O un valor de estado coincide con un valor enum . C...
Un escenario común en las consultas de base de datos es IN (...) donde la lista aquí se genera en tiempo de ejecución. La mayoría de los RDBMS carecen de una buena metáfora para esto, y no existe una solución universal de RDBMS cruzados para esto. En su lugar, Dapper proporciona una suave expansión...
A veces, quieres hacer lo mismo varias veces. Dapper admite esto en el método de Execute si el parámetro más externo (que generalmente es un solo tipo anónimo o una instancia de modelo de dominio) en realidad se proporciona como una secuencia IEnumerable . Por ejemplo: Order[] orders = ... // upda...
Todos los valores en Redis se almacenan finalmente como un tipo RedisValue : //"myvalue" here is implicitly converted to a RedisValue type //The RedisValue type is rarely seen in practice. db.StringSet("key", "aValue");
db.StringSet("key", 11021); int i = (int)db.StringGet("key"); O usando StackExchange.Redis.Extensions : db.Add("key", 11021); int i = db.Get<int>("key");
No siempre es posible empaquetar cuidadosamente todos los parámetros en un solo objeto / llamada. Para ayudar con escenarios más complicados, dapper permite que el parámetro param sea ​​una instancia de IDynamicParameters . Si hace esto, se llama al método AddParameters personalizado en el momento ...
En ADO.NET, el manejo correcto de null es una fuente constante de confusión. El punto clave en Dapper es que no tienes que hacerlo ; Se trata de todo internamente. los valores de parámetro que son null se envían correctamente como DBNull.Value los valores de lectura que son null se presentan como...

Page 1 of 1336