我正在尝试使用autofac向MySQL连接字符串注册IDbConnection

 builder
     .Register<IDbConnection>(c => new SqlConnection(_connectionString))
     .InstancePerLifetimeScope();


我的_connectionString是:

"ConnectionStrings": {
    "DefaultConnection": "server=127.0.0.1;user id=mysqltest;password=test;port=3306;database=blog;"
}


不幸的是,我有一个错误:System.ArgumentException: 'Keyword not supported: 'port'.'

使用MS SQL(无端口),一切正常。
问题仅在于MySQL。

我已经安装:MySql.DataMySqlConnector。我还需要什么吗?

最佳答案

问题是SqlConnection用于Sql Server,而不用于mysql。

您需要注册MySqlConnection的实例

builder
    .Register<IDbConnection>(c => new MySqlConnection(_connectionString))
    .InstancePerLifetimeScope();

10-06 05:55