NET EF sql 参数化查询
导入命名空间
using System.Data.SqlClient;
代码
var sqlBuilder = new StringBuilder("SELECT SUM(TOTAL) AS TOTAL FROM ("); sqlBuilder.Append(" SELECT COUNT(1) AS TOTAL FROM TABLE_A WHERE Code = @originCode UNION ALL"); sqlBuilder.Append(" SELECT COUNT(1) AS TOTAL FROM TABLE_C WHERE Code = @originCode"); sqlBuilder.Append(" ) V"); SqlParameter[] parameters = { new SqlParameter("@originCode", originCode ?? string.Empty), }; var total = db.Database.SqlQuery<int>(sqlBuilder.ToString(), parameters).FirstOrDefault();
PS:
参数需要进行非空判断,把 null 替换为 string.Empty,否则会异常
System.Data.SqlClient.SqlException:“The parameterized query '(@originCode nvarchar(4000))SELECT SUM(TOTAL) AS TOTAL FROM ( SE' expects the parameter '@originCode', which was not supplied.”
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
2021-11-08 NetCore EFCore DbFirst 连接 MsSql