如何使用 PostgreSQL 在 ASP.NET 核心中建立数据库连接?

How to make database connectivity in ASP.NET core with PostgreSQL?

如何使用 postgres SQL 在 ASP.NET 核心中建立数据库连接?

使用 Npgsql EF Core 提供程序,添加对 Npgsql.EntityFrameworkCore.PostgreSQL 的依赖。您可以按照一般 EF Core 入门文档中的说明进行操作。 https://www.npgsql.org/efcore/

Question: How to make database connection in ASP.NET core with postgres SQL ?

添加 postgresql 数据库和 asp.net core 项目的方法有两种。

使用以下方式:

  • ADO.net connection provider
  • Nuget extension: Npgsql.EntityFrameworkCore.PostgreSQL

ADO.net connection provider

这里只需要 NpgsqlConnection 连接生成器 class,它将在 Postgre sql 数据库服务器上执行您的 sql。请参阅以下示例:

C# ASP.NET Core & Postgre SQL Ado.net example:

  NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;User Id=postgres;Password=pwd;Database=postgres;");
    
    conn.Open();
    
    // Passing PostGre SQL Function Name
    NpgsqlCommand command = new NpgsqlCommand("EXE GetEmployeePrintInfo", conn);
    
    // Execute the query and obtain a result set
    NpgsqlDataReader reader = command.ExecuteReader();
    
    // Reading from the database rows
    List<string> listOfManager = new List<string>();

    while (reader.Read())
    {
        string WSManager = reader["WSManager"].ToString(); // Remember Type Casting is required here it has to be according to database column data type
        listOfManager.Add(WSManager);
    }
    reader.Close();

    command.Dispose();
    conn.Close();

Npgsql.EntityFrameworkCore.PostgreSQL:

您必须使用 Visual studioNuget extension 添加到 manage Nuget Packages 的项目引用中。 Entity framework core 为许多数据库提供程序提供此功能。只需在 visual studio

上按照以下步骤操作

ConfigureServices in startup.cs: 成功添加 Nuget package 后,您必须在 startup.cs

下更新项目 ConfigureServices 中的以下代码
        services.AddDbContext<YourDatabaseContextClassName>(options =>
        options.UseNpgsql(Configuration.GetConnectionString("YourDatabaseContextStringNameFromAppsettings")));

Note: If you need any example for entityframework and Postgre SQL implementation you can have look here

如需进一步帮助,您可以查看 official document here。希望它能给你相应的指导。