Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以这种方式使用dapper是否被视为内联SQL?_C#_Sql_Dapper - Fatal编程技术网

C# 以这种方式使用dapper是否被视为内联SQL?

C# 以这种方式使用dapper是否被视为内联SQL?,c#,sql,dapper,C#,Sql,Dapper,我一直在使用这种简洁的方式进行查询(简化的psudeo代码): var sql=“从员工中选择* 使用(连接) { 返回Connection.Query(sql); } 我想知道这是否被认为是“内联SQL”,这在很多人看来是不好的。是的,这就是内联SQL。然而,内联SQL在任何方面都不是“坏的”;唯一真正“不好”的事情是不使用参数,这是一件非常简单的事情。大多数反对内联SQL的论点都错误地将这两个概念等同起来。关于存储过程和内联SQL的优缺点有很多讨论,但这是主观的,而且每种方法都有很多优缺点

我一直在使用这种简洁的方式进行查询(简化的psudeo代码):

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);
}