.Net Core中具有MySql的IDbConnection-无法注入autofac

时间:2018-10-30 21:09:53

标签: mysql .net-core autofac

我正在使用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。我还需要其他东西吗?

1 个答案:

答案 0 :(得分:2)

问题是SqlConnection是针对Sql Server的,而不是针对mysql的。

您需要注册MySqlConnection

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