Ich verwende Dapper, um auf Datenbankobjekte zuzugreifen.
Also diese Linie
Console.Write(string.Join(System.Environment.NewLine, results));
Gibt mir
{DapperRow, VALUE_A = 'Y', VALUE_B = 'Y'}
Aber ich möchte auf diese Werte zugreifen oder diese ausdrucken
DapperRow,
VALUE_A = 'Y'
VALUE_B = 'Y'
Aber ich bekomme "System.InvalidCastException: Kann Objekt des Typs 'DapperRow' nicht umwandeln, um 'System.String'" mit dem folgenden Code einzugeben. Wo ich foreach versuche, diese Liste zu durchlaufen.
using (var conn = new OracleConnection("Password=xxxxx;Persist Security Info=True;User ID=xxxxx;Data Source=xxxxx"))
{
// dapper adds an extension method to the connection for querying
string sql = "SELECT X, Y FROM Z WHERE ABC = 123";
var results = conn.Query(sql).ToList();
Console.Write(string.Join(System.Environment.NewLine, results));
foreach (string value in results)
{
Console.WriteLine("> {0}",value);
}
}
Eigentlich gibt mir das das Ergebnis, das ich will ..
using (var conn = new OracleConnection("Password=xxxxx;Persist Security Info=True;User ID=xxxxxxx;Data Source=xxxxxx"))
{
string sql = "SELECT X, Y FROM Z WHERE ABC = 123";
var orderDetail = conn.Query(sql).FirstOrDefault();
foreach (var pair in orderDetail)
{
Console.WriteLine("{0} = {1}", pair.Key, pair.Value);
}
}
Output:
VALUE_A = 'Y'
VALUE_B = 'Y'
Dann kann ich mit so etwas den Wert 'Y' zurückgeben.
if (pair.Key == "VALUE_B")
{
Console.WriteLine("Val {0}", pair.Value);
}