我一直在使用 Dapper 像这样进行查询(简化的伪代码):
var sql = "SELECT * FROM EMPLOYEE;" using (Connection) { return Connection.Query<Employee>(sql); }
我想知道这是否被认为是“内联 SQL”,很多人认为这很糟糕。
是的,那就是内联SQL。然而,内联 SQL 无论如何都不是“坏”的。唯一真正“糟糕”的事情是不使用参数,而 Dapper 却很容易做到这一点。大多数反对内联 SQL 的论点错误地将这两个概念等同起来。关于存储过程与内联 SQL 的优缺点存在一些讨论,但这是主观的,并且每个过程都有很多优缺点。另外,Dapper 可以使用存储过程无论如何。
并不完全一样,但这里与我的想法有很多交叉:https://blog.marcgravell.com/2017/12/dapper-prepared-statements-and-car-tyres.html