投射动态短小精悍的查询
Cast dynamic dapper query
我正在尝试将动态查询从 dapper 转换为 IDictionary
const string sql = @"SELECT Name, Street FROM Contact";
dynamic query = null;
using (var cn = Connection)
{
query = cn.Query<dynamic>(sql);
}
var rows = query as IDictionary<string, object>;
foreach (var row in rows)
{
// Getting values and objects
}
但是强制转换总是return null。有什么线索吗?
您需要将各个行转换为 IDictionary<string, object>
:
const string sql = @"SELECT Name, Street FROM Contact";
IEnumerable<dynamic> results = null;
using (var cn = Connection)
{
results = cn.Query<dynamic>(sql);
}
foreach (var row in results)
{
var fields = row as IDictionary<string, object>;
// do something with fields["Name"] and fields["Street"]
}
使用"Cast<>":
query.Cast<IDictionary<string, object>>()
我正在尝试将动态查询从 dapper 转换为 IDictionary
const string sql = @"SELECT Name, Street FROM Contact";
dynamic query = null;
using (var cn = Connection)
{
query = cn.Query<dynamic>(sql);
}
var rows = query as IDictionary<string, object>;
foreach (var row in rows)
{
// Getting values and objects
}
但是强制转换总是return null。有什么线索吗?
您需要将各个行转换为 IDictionary<string, object>
:
const string sql = @"SELECT Name, Street FROM Contact";
IEnumerable<dynamic> results = null;
using (var cn = Connection)
{
results = cn.Query<dynamic>(sql);
}
foreach (var row in results)
{
var fields = row as IDictionary<string, object>;
// do something with fields["Name"] and fields["Street"]
}
使用"Cast<>":
query.Cast<IDictionary<string, object>>()