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 ...
Antingen söker du i Visual Studio GUI: Verktyg> NuGet Package Manager> Hantera paket för lösning ... (Visual Studio 2015) Eller kör detta kommando i en Nuget Power Shell-instans för att installera den senaste stabila versionen Install-Package Dapper Eller för en specifik version Instal...
För typer kända vid kompileringstid använder du en generisk parameter med 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 { get {...
Du kan också fråga dynamiskt om du tar bort den generiska typen. 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 });
Enkel användning Dapper stöder helt lagrade procs: var user = conn.Query<User>("spGetUser", new { Id = 1 }, commandType: CommandType.StoredProcedure) .SingleOrDefault(); Parametrar för input, output och return Om du vill ha något mer sn...
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 är utmärkt för att testa databasfrågor och inkluderar NuGet-integration . För att använda Dapper i LINQPad trycker du på F4 för att öppna frågaegenskaperna och väljer sedan Lägg till NuGet . Sök efter dapper dot net och välj Lägg till i fråga . Du vill också klicka på Lägg till namnutrymmen...
public class IHtmlStringTypeHandler : SqlMapper.TypeHandler<IHtmlString> { public override void SetValue( IDbDataParameter parameter, IHtmlString value) { parameter.DbType = DbType.String; parameter.Value = value?.ToHtmlString(); } pu...
För att hämta flera rutnät i en enda fråga QueryMultiple metoden QueryMultiple . Då kan du hämta varje rutnät i följd genom på varandra följande samtal mot GridReader returnerats. var sql = @"select * from Customers where CustomerId = @id select * from Orders where CustomerId = @i...
Dapper gör det enkelt att följa bästa praxis genom fullständigt parametrerad SQL. Parametrar är viktiga, så dapper gör det enkelt att få det rätt. Du uttrycker bara dina parametrar på det normala sättet för din RDBMS (vanligtvis @foo ?foo eller :foo ) och ger dapper ett objekt som har en medlem so...
Ibland kan bekvämligheten hos en parameter (när det gäller underhåll och uttrycksförmåga) uppvägas av dess kostnad i prestanda för att behandla den som en parameter. Till exempel när sidstorleken är fixerad av en konfigurationsinställning. Eller ett enum matchas med ett enum . Överväga: var orders ...
Ett vanligt scenario i databasfrågor är IN (...) där listan här genereras vid körning. De flesta RDBMS saknar en bra metafor för detta - och det finns ingen universell cross-RDBMS- lösning för detta. Istället tillhandahåller dapper viss skonsam automatisk kommandoförlängning. Allt som krävs är ett ...
Ibland vill du göra samma sak flera gånger. Dapper stöder detta på Execute metoden om den yttersta parametern (som vanligtvis är en enda anonym typ eller en domänmodellinstans) faktiskt tillhandahålls som en IEnumerable sekvens. Till exempel: Order[] orders = ... // update the totals connection.E...
Alla värden i Redis lagras slutligen som en RedisValue typ: //"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"); Eller använda StackExchange.Redis.Extensions : db.Add("key", 11021); int i = db.Get<int>("key");
Det är inte alltid möjligt att ordentligt paketera alla parametrar i ett enda objekt / samtal. För att hjälpa till med mer komplicerade scenarier tillåter param parametern är en IDynamicParameters instans. Om du gör detta, AddParameters din anpassade AddParameters metod vid rätt tidpunkt och överlä...
I ADO.NET är korrekt hantering av null en konstant källa till förvirring. Den viktigaste punkten i dapper är att du inte behöver ; det handlar om allt internt. parametervärden som är null skickas korrekt som DBNull.Value värden lästa som är null presenteras som null , eller (i fallet med mappning...

Page 1 of 1336