Mein Code sieht so aus;
using (IDbConnection cnn = new SqlConnection(GetConnectionString()))
{
var result = cnn.QuerySingle(sql, parameters);
return result;
}
Es ist innerhalb einer Methode innerhalb einer Klasse, aber das sollte keine Rolle spielen. QuerySingle soll einen dynamischen Typ zurückgeben, aber ich habe noch nie damit gearbeitet. Wenn ich diesen Code debugge, ist das, was er zurückgibt, ungefähr so;
{{DapperRow, Tcode = 'eeeee', Hashedpw = 'NF886jMDl5imyMj0ThDIxA==', Salt = 'Z+HHq6Rt60FPnAf80Lg4Dg=='}}
Wie soll ich das lesen? Sind es Schlüssel-Wert-Paare, weil die Logik dahinter nicht funktioniert, sie funktioniert nicht wie eine Liste oder ein Array. Ich bin völlig verloren und habe keine Ahnung, was das zurückbringt. Ich brauche nur die Werte, nicht Dapperrow, Tcode, Hashedpw und Salt. Die Rendite, die ich unbedingt brauchen würde, ist
['eeeee', 'NF886jMDl5imyMj0ThDIxA==','Z+HHq6Rt60FPnAf80Lg4Dg==']
Kann mir jemand weiterhelfen?
Derzeit verwenden Sie QuerySingle()
mit schwachem QuerySingle()
, das immer das Ergebnis eines Schlüsselwertpaars QuerySingle()
. Wenn Sie nur Werte abrufen möchten, sollten Sie stark typisierte QuerySingle()
wie diese verwenden.
var result= connection.QuerySingle<TYPE>(sql, parameters);
EDIT: Wenn ich dich richtig verstanden habe
Sie können zum Beispiel eine Klasse definieren
public class SomeClass
{
public string Salt {get;set;}
public string TCode {get;set;}
public string Hashedpw {get;set;}
}
Und Sie können dies in dem Code wie diesem QuerySingle<SomeClass>
wenn Sie in diesem Fall mehrere Ergebnisse QuerySingle<SomeClass>
Sie QuerySingle<List<SomeClass>>()
.
Hoffe das wird dir helfen.
Überprüfen Sie diesen Link, um Hilfe zu QuerySingle zu erhalten
Wenn Sie eine andere Klasse erstellen, ist so etwas ...
public class TestClass
{
public string Tcode { get; set; }
public string Hashedpw { get; set; }
public string Salt { get; set; }
}
... und haben Ihren QuerySingle-Aufruf in so etwas geändert ...
var result = cnn.QuerySingle<TestClass>(sql, parameters);
... ein Anruf wie ...
Debug.WriteLine(result.Tcode);
... würde dazu führen, dass eeeee
das Debug-Fenster eeeee
Hilft das?