前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#实战:Dapper操作PostgreSQL笔记

C#实战:Dapper操作PostgreSQL笔记

原创
作者头像
IT技术分享社区
发布2023-11-12 20:45:21
3440
发布2023-11-12 20:45:21
举报
文章被收录于专栏:C#实战IT技术分享社区C#实战

PostgreSQL组成简介

图片
图片

PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)

PostgreSQL组成

数据库引擎:PostgreSQL数据库引擎是一组CLI和命令行工具,用于管理和查询数据库。它使用C语言编写,并提供了许多高级功能,例如复制,分区,事务,视图和索引等。

数据库存储引擎:PostgreSQL的存储引擎是一组用于存储和检索数据的API。它们负责管理数据的物理存储,并与操作系统和文件系统交互。PostgreSQL支持多种存储引擎,例如Btree,Hash,GIS和qtree等。

数据库管理器:PostgreSQL数据库管理器是一个用户界面工具,可以通过命令行或图形用户界面(GUI)进行访问。它提供了许多功能,例如创建,修改和删除数据库,创建和管理表和索引,备份和恢复数据库,检查和修复错误等。

插件和扩展:PostgreSQL提供了许多插件和扩展,用于扩展其功能和用途。这些插件和扩展可以用于各种目的,例如提高性能,管理用户身份验证,连接到外部资源等。

PostgreSQL的主要优点

可靠性:PostgreSQL是一个高可靠性的数据库系统,具有多种容错和故障恢复机制。

可扩展性:PostgreSQL可以轻松地扩展,可以在一个或多个节点上运行,并使用分区和复制技术来水平扩展。

性能:PostgreSQL在多个方面提供了高性能,例如使用行级锁定,分区表和分区索引等技术来优化查询性能。

安全性:PostgreSQL提供了多种安全措施,例如用户身份验证,数据加密和备份,以确保数据安全。

社区支持:PostgreSQL拥有庞大的开发和用户社区,可以提供丰富的文档,支持和资源。

社区官网:http://www.postgres.cn/index.php/v2/home

PostgreSQL的使用场景

数据库应用程序:PostgreSQL可用于构建各种类型的数据库应用程序,例如企业应用程序,电子商务应用程序和金融应用程序等。

电子商务:PostgreSQL是许多电子商务网站的首选数据库,例如Amazon和eBay。

门户网站:PostgreSQL可用于构建门户网站,例如Wikipedia和Google。

游戏:PostgreSQL可用于构建游戏服务器,例如World of Warcraft和Counter-Strike: Global Offensive。

科学计算:PostgreSQL是许多科学计算应用程序的首选数据库,例如Apache Spark和TensorFlow。

媒体和娱乐:PostgreSQL可用于构建媒体和娱乐应用程序,例如Netflix和Hulu。

金融服务:PostgreSQL是许多金融服务应用程序的首选数据库,例如ING Direct和Capital One 360。

其他应用程序:PostgreSQL适用于各种应用程序和场景,例如医疗保健,物流,教育和政府等。

示例

今天给大家分享通过Dapper来操作PostgreSQL数据库。

首先新建一个控制台项目,开发框架是NetFrameWork?v4.5.2

1、安装dapper,目前本案例安装的版本是1.50.2

图片
图片

2、安装PostgreSQL驱动

nuget直接搜索?npgsql?这里安装的版本是4.0.0?

图片
图片

3、数据库链接示例

建议大家写在配置文件里面,这里只做演示使用

代码语言:javascript
复制
??public?string?GetConnectioning(string?servername,?string?uid,?string?pwd,?string?db,?string?port)
????????{
????????????return?string.Format("host={0};User?ID={1};password={2};database={3};port={4};pooling=false;",?servername,?uid,?pwd,?db,?port);
????????}

4、通过SQL查询数据列表写法

代码语言:javascript
复制
?public?List?GetList(string?conStr,?string?sql)
????????{??

????????????using?(NpgsqlConnection?connection?=?new?NpgsqlConnection(conStr))
????????????{
????????????????var?list?=?connection.Query(sql).ToList();
????????????????return?list;
????????????}

????????}

5、插入示例写法

代码语言:javascript
复制
??public?int?Insert(string?conStr)
????????{

????????????int?result?=?0;
????????????try
????????????{
????????????????using?(NpgsqlConnection?connection?=?new?NpgsqlConnection(conStr))
????????????????{?????????????????
????????????????????var?sql?=?"insert?into?t_user(name,?age,?address,?hobby)?values(@a1,?@b1,?@c1,?@d1),?(@a2,?@b2,?@c2,?@d2)";
????????????????????DynamicParameters?dynamicParameters?=?new?DynamicParameters();
????????????????????dynamicParameters.Add("a1",?"value");
????????????????????dynamicParameters.Add("b1",?"value");
????????????????????dynamicParameters.Add("c1",?"value");
????????????????????dynamicParameters.Add("d1",?"value");
????????????????????dynamicParameters.Add("a2",?"value");
????????????????????dynamicParameters.Add("b2",?"value");
????????????????????dynamicParameters.Add("c2",?"value");
????????????????????dynamicParameters.Add("d2",?"value");???????????????????
????????????????????result?=?connection.ExecuteScalar(sql,?dynamicParameters);
????????????????}
????????????}
????????????catch
????????????{

????????????}
????????????return?result;
????????}

其余写法大家可以参考上面的写法自己来写,有问题的话可以沟通交流。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PostgreSQL组成简介
  • PostgreSQL组成
  • PostgreSQL的主要优点
  • PostgreSQL的使用场景
  • 示例
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com