C# 以这种方式使用dapper是否被视为内联SQL?
我一直在使用这种简洁的方式进行查询(简化的psudeo代码):C# 以这种方式使用dapper是否被视为内联SQL?,c#,sql,dapper,C#,Sql,Dapper,我一直在使用这种简洁的方式进行查询(简化的psudeo代码): var sql=“从员工中选择* 使用(连接) { 返回Connection.Query(sql); } 我想知道这是否被认为是“内联SQL”,这在很多人看来是不好的。是的,这就是内联SQL。然而,内联SQL在任何方面都不是“坏的”;唯一真正“不好”的事情是不使用参数,这是一件非常简单的事情。大多数反对内联SQL的论点都错误地将这两个概念等同起来。关于存储过程和内联SQL的优缺点有很多讨论,但这是主观的,而且每种方法都有很多优缺点
var sql=“从员工中选择*
使用(连接)
{
返回Connection.Query(sql);
}
我想知道这是否被认为是“内联SQL”,这在很多人看来是不好的。是的,这就是内联SQL。然而,内联SQL在任何方面都不是“坏的”;唯一真正“不好”的事情是不使用参数,这是一件非常简单的事情。大多数反对内联SQL的论点都错误地将这两个概念等同起来。关于存储过程和内联SQL的优缺点有很多讨论,但这是主观的,而且每种方法都有很多优缺点。另外,Dapper无论如何都可以使用存储过程
这不完全相同,但是这里有很多交叉点:
我也会考虑使用DaPer.Tunib,大多数人认为坏的内联SQL是SQL动态生成的时候。您应该能够将常量字符串sql
传递到Query()
,无格式/插值,无+
,无字符串。Join
。以上这些都不是问题。其他问题:不要使用选择*
,请指定所需的确切列。不要缓存连接对象,每次从连接字符串创建一个新对象
var sql = "SELECT * FROM EMPLOYEE;"
using (Connection)
{
return Connection.Query<Employee>(sql);
}