C#Dapper simplecrud各种查询方式

本文介绍了一种使用参数化查询的方法,并演示了如何通过动态参数进行安全的数据检索。此外,还详细解释了一对多查询的具体实现过程,包括如何通过连接查询获取关联数据并进行有效管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参数化查询:

DynamicParameters par = new DynamicParameters();
            par.Add("ID",1);
            par.Add("Score",80);

            var list = studentServices.GetModelList("where user_id=@ID and score=@Score", par);

根据ID查询:

 var n = userServices.GetModel(1);

一对多查询:

这个字典是重点,画起来,要考,慢慢理解

 using (_connection = DbClient.OpenConnection())
            {
                string sql = "select * from users u join student st on u.id=st.user_id and score=80";
                var pa = new Dictionary<int, Users>();
                var qry = _connection.Query<Users, Student, Users>(sql, (u, stu) =>
                {
                    Users user = new Users();
                    if (!pa.TryGetValue(u.ID, out user))
                    {
                        pa.Add(u.ID, user = u);
                    }
                    user.students.Add(stu);
                    return user;
                }).Distinct();
                return qry;
            }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值