PostgreSQL¶
一、PostgreSQL 介绍¶
PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用。
PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和专有系统(比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server)之外的另一种选择。
PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。 Inprise 的 InterBase 以及SAP等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。
从技术角度来讲,PostgreSQL 采用的是比较经典的C/S(client/server)结构,几乎支持所有类型的数据库客户端接口。
二、.Net Core PostgreSQL 项目示例详解(EntityframeWork.Core+CodeFirst)¶
1. 使用VS Code 创建一个 Web API项目¶
(此处项目名称命名为VSCodeTest),打开VSCodeTest.csproj,添加相关包Microsoft.EntityFrameworkCore.Tools、Npgsql.EntityFrameworkCore.PostgreSQL引用

2.在项目中创建文件夹PostgreSQLHelper¶
此文件夹下创建应用于实体框架的PostgreSQL数据库的上下文(PostgreSqlContent.cs)

3.在项目中创建实体类文件夹Models¶
此文件夹下创建数据表对应的实体类(此处以userinfo实体类为例)

4.在项目的appsettings.json文件中添加数据库连接的配置¶

5.在Startup.cs中注入PostgreSQL¶
a.修改构造函数,加载appsettings.json配置文件

b.ConfigureServices方法中注入数据库的相关连接操作

6.创建userinfo控制器¶

7.发布项目,浏览器中测试¶
