简体   繁体   English

投射动态精巧的查询

[英]Cast dynamic dapper query

Im trying to convert a dynamic query from dapper to IDictionary 我试图将动态查询从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
        }

But the cast always return null. 但是演员总是返回null。 Any clue? 任何线索?

You need to cast the individual rows as IDictionary<string, object> : 您需要将各行转换为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>>()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM