FreeSql icon indicating copy to clipboard operation
FreeSql copied to clipboard

ADO SQL 参数化查询参数前缀优化

Open trackycn opened this issue 2 years ago • 1 comments

Feature 特性

ADO SQL 参数化查询参数前缀优化, 标准化前缀字符

简要描述原因

文档如下: https://github.com/dotnetcore/FreeSql/wiki/ADO#%E5%8F%82%E6%95%B0%E5%8C%96

关于参数前缀:

odbc 是 ? 并且没有标识,所以freesql禁用了 odbc 参数化 oracle 是 : mysql.data 是 ? mysqlconnector 是 @ 其他基本都是 @

使用场景

如果需要在多数据库切换时, 需要手工硬编码SQL语句中的参数前缀, 可否统一化参数前缀符号

trackycn avatar Mar 06 '22 16:03 trackycn

一旦需要统一了,那碰到传递 SQL 的地方,替换到对应 Provider 用到前缀就是个麻烦事,可能参数要改成比较特殊的格式才好用正则一类的做处理,比如 #@ParameterName@# ∑( 口 ||。(话说考虑数据库切换还是尽量少写 SQL 才是正经做法

建议在自己的项目做好封装呢,需要传 SQL 的地方自己项目内约束规则,然后对SQL进行处理以及替换再传递给 FreeSql。

hd2y avatar Mar 10 '22 01:03 hd2y