dynamic取属性及添加属性

C#获取dynamic(动态)实体的属性值

复制代码
复制代码
List<student> item= conn.Query<student>($"select * from 表  where id=123 ").ToList();
    foreach (System.Reflection.PropertyInfo p in item.GetType().GetProperties())
                {
                    Console.WriteLine(p.Name+ " :"+p.GetValue(item, null));
                }
     
    class student{
    public string id{get;set;}
    public string name{get;set;}
    public string sex{get;set;}
    }
复制代码
复制代码

当我们需要遍历动态一个实体想要知道某个字段有没有值时,我们可以这样来写

复制代码
复制代码
List<dynamic> result = conn.Query($"select * from 表 where id='123'").ToList();
            foreach (KeyValuePair<string, object> col in result[0])
            {
                string aa = col.Key;//属性
                string bb = col.Value.ToString();//值
                if (!string.IsNullOrWhiteSpace(col.Value.ToString()))
                {

                }
            }
复制代码
复制代码

 

 

dynamic集合动态添加属性

复制代码
复制代码
List<dynamic> list = conn.Query(srhsql, p).ToList(); //查出数据
 List<dynamic> tmp = new List<dynamic>();
 foreach (var row in list)
{
                        dynamic info = new System.Dynamic.ExpandoObject();
                        var dic = (IDictionary<string, object>)info;
                        foreach (KeyValuePair<string, object> col in row)
                        {
                            dic.Add(col);
                        }
                        dic.Add("名称", "值");
                        tmp.Add(info);
                    }
                    list = tmp;}
复制代码
复制代码

 

 

原文链接:

https://www.cnblogs.com/leebokeyuan/p/14128860.html

https://blog.csdn.net/qq_39569480/article/details/104480012

posted @   人生为卒  阅读(1623)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示