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 ...
Entweder Suche in der Visual Studio-GUI: Tools> NuGet Package Manager> Pakete für Lösung verwalten ... (Visual Studio 2015) Oder führen Sie diesen Befehl in einer Nuget Power Shell-Instanz aus, um die neueste stabile Version zu installieren Install-Package Dapper Oder für eine bestimmt...
Verwenden Sie für zur Kompilierzeit bekannte Typen einen generischen Parameter mit der 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 IgnoredPro...
Sie können auch dynamisch abfragen, wenn Sie den generischen Typ weglassen. 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 });
Einfache Benutzung Dapper unterstützt gespeicherte Prozeduren vollständig: var user = conn.Query<User>("spGetUser", new { Id = 1 }, commandType: CommandType.StoredProcedure) .SingleOrDefault(); Input-, Output- und Return-Parameter Wenn ...
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 eignet sich hervorragend zum Testen von Datenbankabfragen und beinhaltet die Integration von NuGet . Um Dapper in LINQPad zu verwenden, drücken Sie F4 , um die Abfrageeigenschaften zu öffnen, und wählen Sie dann NuGet hinzufügen . Suchen Sie nach dapper dot net und wählen Sie Zu Abfrage hin...
public class IHtmlStringTypeHandler : SqlMapper.TypeHandler<IHtmlString> { public override void SetValue( IDbDataParameter parameter, IHtmlString value) { parameter.DbType = DbType.String; parameter.Value = value?.ToHtmlString(); } pu...
Um mehrere Raster in einer einzelnen Abfrage QueryMultiple , wird die QueryMultiple Methode verwendet. Auf diese Weise können Sie jedes Raster sequentiell durch aufeinanderfolgende Aufrufe des zurückgegebenen GridReader . var sql = @"select * from Customers where CustomerId = @id ...
Dapper macht es einfach, Best Practices mithilfe von vollständig parametrisiertem SQL zu befolgen. Parameter sind wichtig, daher macht dapper es leicht, es richtig zu machen. Sie geben Ihre Parameter einfach wie üblich für Ihr RDBMS aus (normalerweise @foo ?foo oder :foo ) und geben dapper ein Obj...
Manchmal kann die Bequemlichkeit eines Parameters (in Bezug auf die Wartung und Ausdruckskraft) durch seine Kosten in der Leistung aufgewogen werden, um ihn als Parameter zu behandeln. Zum Beispiel, wenn die Seitengröße durch eine Konfigurationseinstellung festgelegt wird. Oder ein Statuswert wird ...
Ein häufiges Szenario in Datenbankabfragen ist IN (...) bei dem die Liste hier zur Laufzeit generiert wird. Den meisten RDBMS fehlt dafür eine gute Metapher - und dafür gibt es keine universelle Cross-RDBMS- Lösung. Stattdessen sorgt dapper für eine sanfte automatische Befehlserweiterung. Es ist IE...
Manchmal möchten Sie dasselbe mehrmals tun. Dapper unterstützt dies für die Execute Methode, wenn der äußerste Parameter (normalerweise ein einzelner anonymer Typ oder eine Domänenmodellinstanz) tatsächlich als IEnumerable Sequenz IEnumerable wird. Zum Beispiel: Order[] orders = ... // update the ...
Alle Werte in Redis werden letztendlich als RedisValue Typ gespeichert: //"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"); Oder mit StackExchange.Redis.Extensions : db.Add("key", 11021); int i = db.Get<int>("key");
Es ist nicht immer möglich, alle Parameter in einem einzigen Objekt / Aufruf zusammenzufassen. Um bei komplizierteren Szenarien zu helfen, ermöglicht param , dass der Parameter IDynamicParameters eine IDynamicParameters Instanz ist. Wenn Sie dies tun, wird Ihre benutzerdefinierte AddParameters Meth...
In ADO.NET ist die korrekte Handhabung von null eine ständige Quelle der Verwirrung. Der Schlüsselpunkt in dapper ist, dass Sie nicht müssen ; es befasst sich damit intern. Parameterwerte, die null sind , korrekt als gesendet DBNull.Value Gelesene Werte, die null sind, werden als null oder (bei d...

Page 1 of 1336