Dapper「不如sqlsugar」
dapper
动态更新字段
使用字符串拼接动态构建 SQL
使用匿名对象
查询返回的 List 类型
直接返回匿名类型的 List
将匿名类型结果映射到指定类型
使用匿名类型作为参数并返回强类型
多映射到匿名类型
动态返回匿名类型并转换为字典
对查询结果进行linq操作
// 正确用法示例
var users = connection.Query<User>("SELECT * FROM Users WHERE Age >= @MinAge",
new { MinAge = minAge }).ToList();
return users
.Where(u => u.IsActive)
.Select(u => new UserSummary {
Id = u.Id,
DisplayName = $"{u.FirstName} {u.LastName}",
AccountAge = DateTime.Now.Year - u.JoinDate.Year
})
.ToList();
//⚠️:注意事项
//立即执行查询:当需要确保数据已完全加载时使用
//延迟执行:直接返回 IEnumerable 让调用方决定是否物化
// 避免不必要的内存化(ToList)
return connection.Query<User>(/*...*/)
.AsEnumerable() // 保持延迟执行
.Select(u => new UserSummary { /*...*/ });