创建 DbContext
对于 MySql 数据库,需要安装 Install-Package Chloe.MySql 以及 MySql 的驱动,然后使用 Chloe.MySql.MySqlContext 创建上下文实例。注意:DbContext 实例非线程安全,一定要避免多线程同时使用同一个 DbContext 对象。同时,用完务必要将 DbContext 释放。
因为框架本身需要与具体的数据库驱动解耦,所以 MySqlContext 构造函数需要一个 IDbConnectionFactory 的参数,IDbConnectionFactory 接口只有一个 CreateConnection() 方法,必须先建个类,实现 CreateConnection 方法。
public class MySqlConnectionFactory : IDbConnectionFactory
{
string _connString = null;
public MySqlConnectionFactory(string connString)
{
this._connString = connString;
}
public IDbConnection CreateConnection()
{
IDbConnection conn = new MySqlConnection(this._connString);
return conn;
}
}
接下来就可以创建 MySqlContext:
string connString = "Your connection string";
MySqlContext context = new MySqlContext(new MySqlConnectionFactory(connString));
ASP.NET CORE 配置 Service:
public void ConfigureServices(IServiceCollection services)
{
//...
services.AddScoped((serviceProvider) =>
{
return new Chloe.MySql.MySqlContext(new MySqlConnectionFactory("Your connection string"));
});
//...
}