Skip to content

PostgreSQL DbContext

shuxin edited this page Dec 2, 2023 · 3 revisions

创建 DbContext

对于 PostgreSQL 数据库,需要安装 Install-Package Chloe.PostgreSQL 以及 PostgreSQL 的驱动,然后使用 Chloe.PostgreSQL.PostgreSQLContext 创建上下文实例。注意:DbContext 实例非线程安全,一定要避免多线程同时使用同一个 DbContext 对象。同时,用完务必要将 DbContext 释放。

创建 PostgreSQLContext:

PostgreSQLContext context = new PostgreSQLContext(() =>
{
    IDbConnection conn = new NpgsqlConnection("Your connection string");  //需要自己引入数据库驱动
    return conn;
});

PostgreSQLContext 生成 sql 语句时默认将表名和字段转成小写形式,如需要修改该默认设置,操作如下:

context.Options.ConvertToLowercase = false;

ASP.NET CORE 配置 Service:

public void ConfigureServices(IServiceCollection services)
{
    //...
	
    services.AddScoped<Chloe.IDbContext>((serviceProvider) =>
    {
        PostgreSQLContext context = new PostgreSQLContext(() =>
        {
            IDbConnection conn = new NpgsqlConnection("Your connection string");  //需要自己引入数据库驱动
            return conn;
        });

        return context;
    });
   
    //...
}