Dapper 不负责连接数据库,而是依赖 ADO.NET 的 IDbConnection(如 SqlConnection)执行 SQL;连接字符串需按数据库类型正确配置,并通过 using 管理连接生命周期,推荐用 appsettings.json 和 IConfiguration 安全管理。
Dapper 本身 
IDbConnection(比如 SqlConnection、MySqlConnection 等)来执行 SQL。所以“Dapper 连接数据库”的本质,是用 Dapper 调用已配置好的数据库连接对象。
连接字符串是告诉程序“去哪连、用谁连、怎么认证”的关键文本。不同数据库格式不同,但核心字段类似:
"Server=localhost\\SQLEXPRESS;Database=MyAppDB;Trusted_Connection=true;"
"Server=localhost;Database=MyAppDB;User Id=myuser;Password=mypass;"
"Server=localhost;Port=3306;Database=myapp;Uid=root;Pwd=123456;"
"Host=localhost;Port=5432;Database=myapp;Username=postgres;Password=123456;"
别直接 new SqlConnection("xxx") 写死——推荐用 using 确保及时释放,再传给 Dapper 方法:
string connectionString = "Server=localhost;Database=MyAppDB;User Id=sa;Password=123456;"; using var conn = new SqlConnection(connectionString); conn.Open();var users = conn.Query
("SELECT * FROM Users WHERE Age > @age", new { age = 18 });
注意:Dapper 所有扩展方法(Query、Execute、QuerySingle 等)都定义在 IDbConnection 上,只要传入合法打开的连接即可。
硬编码或写在代码里既不安全也不易维护。推荐方式:
appsettings.json 中,通过 IConfiguration 读取AddScoped(...) 或封装一个 IDbConnectionFactory
User Secrets,生产用 Azure Key Vault、环境变量或配置中心连不上?先快速核对这几项:
SQLEXPRESS 要准确)System.Data.SqlClient 已过时,.NET Core 推荐 Microsoft.Data.SqlClient)基本上就这些。Dapper 配置连接不是它自己的事,而是你把 ADO.NET 连接准备好,它才开始干活——越理解底层连接逻辑,越不容易卡在“连不上”这一步。